Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-7240 Scaling HDFS
  3. HDFS-11850

Ozone: Stack Overflow in XceiverClientManager because of race condition in accessing openClient

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • None
    • ozone
    • 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)
      

      Attachments

        1. HDFS-11850-HDFS-7240.001.patch
          3 kB
          Mukul Kumar Singh

        Activity

          People

            msingh Mukul Kumar Singh
            msingh Mukul Kumar Singh
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: