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

Duo Zhang commented on HBASE-17206:
-----------------------------------

I think this should go into all active branches except 0.98 where we do not use 
disrutor.

And it is harder to reproduce the problem for branch-1.3- as we use 
this.safePointAttainedLatch.await(1, TimeUnit.NANOSECONDS) there.

Thanks.

> FSHLog may roll a new writer successfully with unflushed entries
> ----------------------------------------------------------------
>
>                 Key: HBASE-17206
>                 URL: https://issues.apache.org/jira/browse/HBASE-17206
>             Project: HBase
>          Issue Type: Bug
>          Components: wal
>    Affects Versions: 2.0.0, 1.3.0, 1.4.0, 1.1.7, 1.2.4
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>            Priority: Critical
>             Fix For: 2.0.0, 1.3.0, 1.4.0, 1.2.5, 1.1.8
>
>         Attachments: HBASE-17206.patch
>
>
> Found it when debugging the flakey TestFailedAppendAndSync.
> The problem is in waitSafePoint.
> {code}
>       while (true) {
>         if (this.safePointAttainedLatch.await(1, TimeUnit.MILLISECONDS)) {
>           break;
>         }
>         if (syncFuture.isThrowable()) {
>           throw new 
> FailedSyncBeforeLogCloseException(syncFuture.getThrowable());
>         }
>       }
>       return syncFuture;
> {code}
> If we attach the safe point quick enough then we will bypass the 
> syncFuture.isThrowable check and will not throw 
> FailedSyncBeforeLogCloseException.
> This may cause incosistency between memstore and wal.



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

Reply via email to