-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
Jenkins 2.138.2
active directory 2.12
We faced web interface hang once, http requests stucked on ad user retrieve:
"Handling GET /jenkins/job/PPRB_DevOps/job/Install_EIP/job/Install_EIP_2_cli/19070/wfapi from 10.116.113.11 : qtp385242642-12688644" - Thread t@12688644"Handling GET /jenkins/job/PPRB_DevOps/job/Install_EIP/job/Install_EIP_2_cli/19070/wfapi from 10.116.113.11 : qtp385242642-12688644" - Thread t@12688644 java.lang.Thread.State: WAITING at sun.misc.Unsafe.park(Native Method) - parking to wait for <83657e2> (a com.google.common.util.concurrent.AbstractFuture$Sync) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836) at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304) at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:275) at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:111) at com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly(Uninterruptibles.java:132) at com.google.common.cache.LocalCache$LoadingValueReference.waitForValue(LocalCache.java:3586) at com.google.common.cache.LocalCache$Segment.waitForLoadingValue(LocalCache.java:2333) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2320) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228) at com.google.common.cache.LocalCache.get(LocalCache.java:3965) at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4764) at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:340) at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:303) at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:225) at hudson.plugins.active_directory.AbstractActiveDirectoryAuthenticationProvider.loadUserByUsername(AbstractActiveDirectoryAuthenticationProvider.java:55) at jenkins.security.ImpersonatingUserDetailsService.loadUserByUsername(ImpersonatingUserDetailsService.java:32)
For few minutes web server had reached handlerCountMax limit, every http handler thread was in waiting state for user info from cache
I think that the problemrelates to:
https://github.com/google/guava/issues/2774
https://github.com/google/guava/issues/3232