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

Improve DrainBarrier

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Abandoned
    • None
    • None
    • util
    • 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.patch
          8 kB
          Hiroshi Ikeda
        2. HBASE-14222-V2.patch
          4 kB
          Hiroshi Ikeda
        3. HBASE-14222-V2.patch
          4 kB
          Hiroshi Ikeda
        4. HBASE-14222-V2.patch
          4 kB
          Michael Stack

        Activity

          People

            Unassigned Unassigned
            ikeda Hiroshi Ikeda
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: