Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-14222

Improve DrainBarrier

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Patch Available
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: util
    • Labels:
      None

      Description

      1. DrainBarrier.stopAndDrainOps may wait forever if DrainBarrier.endOp changes its state and calls Object.notifyAll just before stopAndDrainOps enters the synchronized block to call Object.wait. Moreover, Object.wait may wake up false-positively, and stopAndDrainOps may break the block before outstanding operations are complete.

      2. Some tests for DrainBarrier catch and ignore AssertionError explicitly thrown JUnit's fail method.

      The implementation of DrainBarrier is a little complex, and I'll fix and refactor it.

        Attachments

        1. HBASE-14222-V2.patch
          4 kB
          Hiroshi Ikeda
        2. HBASE-14222-V2.patch
          4 kB
          Hiroshi Ikeda
        3. HBASE-14222-V2.patch
          4 kB
          Michael Stack
        4. HBASE-14222.patch
          8 kB
          Hiroshi Ikeda

          Activity

            People

            • Assignee:
              ikeda Hiroshi Ikeda
              Reporter:
              ikeda Hiroshi Ikeda
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated: