[ https://issues.apache.org/jira/browse/HBASE-10714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13926110#comment-13926110 ]
Himanshu Vashishtha commented on HBASE-10714: --------------------------------------------- bq. + if (zigzagLatch != null && !zigzagLatch.isCocked()) { I think it should be: if (zigzagLatch != null && zigzagLatch.isCocked()) { For if the latch is not cocked that means there is no point in waiting on it, right ? > SyncFuture hangs when sequence is 0 > ----------------------------------- > > Key: HBASE-10714 > URL: https://issues.apache.org/jira/browse/HBASE-10714 > Project: HBase > Issue Type: Bug > Components: wal > Reporter: Jimmy Xiang > Assignee: Jimmy Xiang > Fix For: 0.99.0 > > Attachments: hbase-10714.patch > > > In SyncFuture, NOT_DONE = 0. The initial value of the ringBuffer is -1. So > ringBuffer.next() gives 0 for the first call. If we create a SyncFuture with > sequence = 0, even when we set it's done (ie. doneSequence = 0), it is still > not done since doneSequence == NOT_DONE == 0. Can we set NOT_DONE to -1, and > the initial doneSequence to -2? -- This message was sent by Atlassian JIRA (v6.2#6252)