[ https://issues.apache.org/jira/browse/HBASE-18099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16083297#comment-16083297 ]
Hudson commented on HBASE-18099: -------------------------------- SUCCESS: Integrated in Jenkins build HBase-1.2-IT #896 (See [https://builds.apache.org/job/HBase-1.2-IT/896/]) HBASE-18358 Backport HBASE-18099 'FlushSnapshotSubprocedure should wait (tedyu: rev 2857b75c2750f2cc0bd29a3d100794021dec509d) * (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/FlushSnapshotSubprocedure.java * (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.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)