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-17035) Check why we roll a wal writer at 10MB when the configured roll size is 120M+ with AsyncFSWAL
Date Mon, 07 Nov 2016 10:06:58 GMT

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

Duo Zhang commented on HBASE-17035:

I think I found a possible race.

In syncCompleted method in the patch of HBASE-17021, we will try finished roll before request
log roll. If we successfully finishes a roll, the waitForSafePoint will return and doReplaceWriter
will switch the writer. But in syncCompleted, we still use the old writer instance to get
length and then compare it to the logrollsize to determine if we should request a roll. Under
a heavy load, it is possible that we continue the work after tryFinishedRoll in syncCompleted
method after the rollWriter is finished. This will cause a roll immediately after a roll.

Let me prepare a new patch in HBASE-17021, not very hard to fix.


> Check why we roll a wal writer at 10MB when the configured roll size is 120M+ with AsyncFSWAL
> ---------------------------------------------------------------------------------------------
>                 Key: HBASE-17035
>                 URL: https://issues.apache.org/jira/browse/HBASE-17035
>             Project: HBase
>          Issue Type: Sub-task
>          Components: wal
>    Affects Versions: 2.0.0
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>             Fix For: 2.0.0
> Found this when addressing HBASE-16890. It is one of the possible reason that why AsyncFSWAL
performs worse than FSHLog when running PE tool.
> https://issues.apache.org/jira/browse/HBASE-16890?focusedCommentId=15636688&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15636688

This message was sent by Atlassian JIRA

View raw message