Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
There is a possible race condition in accessing the open client has, it is because of unlocked access of the hash in acquireClient.
This can cause stack overflow and also leaking client in all probabilities
at com.google.common.cache.LocalCache$Segment.put(LocalCache.java:3019) at com.google.common.cache.LocalCache.put(LocalCache.java:4365) at com.google.common.cache.LocalCache$LocalManualCache.put(LocalCache.java:5077) at org.apache.hadoop.scm.XceiverClientManager$1.onRemoval(XceiverClientManager.java:85) at com.google.common.cache.LocalCache.processPendingNotifications(LocalCache.java:1966) at com.google.common.cache.LocalCache$Segment.runUnlockedCleanup(LocalCache.java:3650) at com.google.common.cache.LocalCache$Segment.postWriteCleanup(LocalCache.java:3626) at com.google.common.cache.LocalCache$Segment.put(LocalCache.java:3019) at com.google.common.cache.LocalCache.put(LocalCache.java:4365) at com.google.common.cache.LocalCache$LocalManualCache.put(LocalCache.java:5077) at org.apache.hadoop.scm.XceiverClientManager$1.onRemoval(XceiverClientManager.java:85) at com.google.common.cache.LocalCache.processPendingNotifications(LocalCache.java:1966) at com.google.common.cache.LocalCache$Segment.runUnlockedCleanup(LocalCache.java:3650) at com.google.common.cache.LocalCache$Segment.postWriteCleanup(LocalCache.java:3626) at com.google.common.cache.LocalCache$Segment.put(LocalCache.java:3019) at com.google.common.cache.LocalCache.put(LocalCache.java:4365) at com.google.common.cache.LocalCache$LocalManualCache.put(LocalCache.java:5077) at org.apache.hadoop.scm.XceiverClientManager$1.onRemoval(XceiverClientManager.java:85) at com.google.common.cache.LocalCache.processPendingNotifications(LocalCache.java:1966) at com.google.common.cache.LocalCache$Segment.runUnlockedCleanup(LocalCache.java:3650)