HBase
  1. HBase
  2. HBASE-5535

Make the functions in task monitor synchronized

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.92.2, 0.94.0
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      There are some potential race condition in the task monitor. So update the functions in task monitor to be synchronized.

      The example of the problem caused by the race condition:
      ERROR org.apache.hadoop.hbase.regionserver.MemStoreFlusher: Cache flush failed for region
      java.lang.IndexOutOfBoundsException: Index: 1745, Size: 1744
      at java.util.ArrayList.add(ArrayList.java:367)
      at java.util.SubList.add(AbstractList.java:633)
      at java.util.SubList.add(AbstractList.java:633)
      at java.util.SubList.add(AbstractList.java:633)
      at java.util.SubList.add(AbstractList.java:633)
      at java.util.SubList.add(AbstractList.java:633)
      at java.util.AbstractList.add(AbstractList.java:91)
      at org.apache.hadoop.hbase.monitoring.TaskMonitor.createStatus(TaskMonitor.java:74)
      at org.apache.hadoop.hbase.regionserver.HRegion.flushcache(HRegion.java:1139)
      at org.apache.hadoop.hbase.regionserver.MemStoreFlusher.flushRegion(MemStoreFlusher.java:260)
      at org.apache.hadoop.hbase.regionserver.MemStoreFlusher.flushRegion(MemStoreFlusher.java:234)
      at org.apache.hadoop.hbase.regionserver.MemStoreFlusher.run(MemStoreFlusher.java:146)

        Activity

          People

          • Assignee:
            Liyin Tang
            Reporter:
            Liyin Tang
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development