Hiroshi Ikeda created HBASE-14222:
-------------------------------------

             Summary: Improve DrainBarrier
                 Key: HBASE-14222
                 URL: https://issues.apache.org/jira/browse/HBASE-14222
             Project: HBase
          Issue Type: Bug
          Components: util
            Reporter: Hiroshi Ikeda
            Assignee: Hiroshi Ikeda
            Priority: Minor


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.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to