hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hiroshi Ikeda (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-14222) Improve DrainBarrier
Date Wed, 19 Aug 2015 06:49:45 GMT

    [ https://issues.apache.org/jira/browse/HBASE-14222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14702601#comment-14702601

Hiroshi Ikeda commented on HBASE-14222:

Sorry, that is not "old" valueAndFlags and should be compared to zero.
Also it seems enough to use the old value for the notifier? That's too subtle :-(

> 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
>         Attachments: HBASE-14222-V2.patch, HBASE-14222.patch
> 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

This message was sent by Atlassian JIRA

View raw message