-
Notifications
You must be signed in to change notification settings - Fork 427
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduced timeouts for MSAL calls. #2562
base: main
Are you sure you want to change the base?
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2562 +/- ##
============================================
+ Coverage 51.03% 51.14% +0.10%
- Complexity 3919 3927 +8
============================================
Files 147 147
Lines 33456 33478 +22
Branches 5604 5609 +5
============================================
+ Hits 17074 17122 +48
+ Misses 13971 13943 -28
- Partials 2411 2413 +2 ☔ View full report in Codecov by Sentry. |
src/test/java/com/microsoft/sqlserver/jdbc/SQLServerConnectionTest.java
Outdated
Show resolved
Hide resolved
src/test/java/com/microsoft/sqlserver/jdbc/SQLServerConnectionTest.java
Outdated
Show resolved
Hide resolved
src/test/java/com/microsoft/sqlserver/jdbc/SQLServerConnectionTest.java
Outdated
Show resolved
Hide resolved
- Added more tests - Improved test to check for specific error message
- Replaced lock with tryLock to avoid potential long waiting for other threads while one thread is taking long to complete.
src/main/java/com/microsoft/sqlserver/jdbc/SQLServerMSAL4JUtils.java
Outdated
Show resolved
Hide resolved
- Added detailed comment for the usage of semaphore.
src/main/java/com/microsoft/sqlserver/jdbc/SQLServerMSAL4JUtils.java
Outdated
Show resolved
Hide resolved
try { | ||
// | ||
//Just try to acquire the semaphore and if can't then proceed to attempt to get the token. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we intergate mockito framework and simulate this scenario?
Description:
Calls to MSAL authentication library done from the Java driver code use future.get(), potentially leading to hangs in case the library does not receive timely response from the server. All these calls done as part of getFedAuthToken need to have timeouts imposed. The timeout period is calculated based on remaining time wrt login timeout, and passed to future.get(, ) calls with this fix.
Tests: