hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-18099) FlushSnapshotSubprocedure should wait for concurrent Region#flush() to finish
Date Wed, 12 Jul 2017 04:40:00 GMT

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

Hudson commented on HBASE-18099:
--------------------------------

FAILURE: Integrated in Jenkins build HBase-1.3-JDK7 #197 (See [https://builds.apache.org/job/HBase-1.3-JDK7/197/])
HBASE-18358 Backport HBASE-18099 'FlushSnapshotSubprocedure should wait (tedyu: rev af4003cee633c4d5ec14d3a5159f7080785a167f)
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/FlushSnapshotSubprocedure.java


> FlushSnapshotSubprocedure should wait for concurrent Region#flush() to finish
> -----------------------------------------------------------------------------
>
>                 Key: HBASE-18099
>                 URL: https://issues.apache.org/jira/browse/HBASE-18099
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Ted Yu
>            Assignee: Ted Yu
>            Priority: Critical
>             Fix For: 2.0.0, 1.4.0
>
>         Attachments: 18099.v1.txt, 18099.v2.txt, 18099.v3.txt, 18099.v4.txt
>
>
> In the following thread:
> http://search-hadoop.com/m/HBase/YGbbMXkeHlI9zo
> Jacob described the scenario where data from certain region were missing in the snapshot.
> Here was related region server log:
> https://pastebin.com/1ECXjhRp
> He pointed out that concurrent flush from MemStoreFlusher.1 thread was not initiated
from the thread pool for snapshot.
> In RegionSnapshotTask#call() method there is this:
> {code}
>           region.flush(true);
> {code}
> The return value is not checked.
> In HRegion#flushcache(), Result.CANNOT_FLUSH may be returned due to:
> {code}
>           String msg = "Not flushing since "
>               + (writestate.flushing ? "already flushing"
>               : "writes not enabled");
> {code}
> This implies that FlushSnapshotSubprocedure may incorrectly skip waiting for the concurrent
flush to complete.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message