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)