hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mikhail Antonov (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-17206) FSHLog may roll a new writer successfully with unflushed entries
Date Thu, 01 Dec 2016 21:23:58 GMT

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

Mikhail Antonov commented on HBASE-17206:
-----------------------------------------

Thanks for the pings! Change looks good to me, but let's wait on commit it to 1.3 just yet.
I'm investigating what seems to be yet another issue around compactions, so at the moment
would prefer the codebase to not change. 

Feel free to either close w/o commit and I'll cherry pick later, or open separate backport
jira for 1.3.1, whichever feels more convenient to you.

So far I think the approach that folks including [~carp84] were following was to open a separate
backport jira to cherry pick things to 1.3.1 later.

> 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)

Mime
View raw message