hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Duo Zhang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-15699) Can not sync AsyncFSWAL if no edit is appended
Date Sun, 24 Apr 2016 02:50:12 GMT

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

Duo Zhang commented on HBASE-15699:

The above comments explain why. We will call reset immediately after construction, and reset
requires isDone() to be true so we need to set it to another value. The original implementation
set NOT_DONE to 0 and this value to -1, I just change NOT_DONE to -1 and this value to -2.
Let me see if I can remove the confusing logic.

I'm still working on make AsyncFSWAL as our default WAL implementation and found this when
debugging the failure of region replica replication UTs. The non-primary replica will disable
WAL but still call wal.sync at the end so we run into this bug there...


> Can not sync AsyncFSWAL if no edit is appended
> ----------------------------------------------
>                 Key: HBASE-15699
>                 URL: https://issues.apache.org/jira/browse/HBASE-15699
>             Project: HBase
>          Issue Type: Bug
>          Components: wal
>    Affects Versions: 2.0.0
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>             Fix For: 2.0.0
>         Attachments: HBASE-15699.patch
> The problem is the txid that we assign to SyncFuture. In AsyncFSWAL, we will assign a
zero txid if no edit is append, and it just equals to SyncFuture.NOT_DONE, so the sync request
will never finish...

This message was sent by Atlassian JIRA

View raw message