[ https://issues.apache.org/jira/browse/HBASE-14229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Yerui Sun updated HBASE-14229: ------------------------------ Attachment: HBASE-14229-0.98-v2.patch reattach patch for 0.98 branch, for QA run. > Flushing canceled by coprocessor still leads to memstoreSize set down > --------------------------------------------------------------------- > > Key: HBASE-14229 > URL: https://issues.apache.org/jira/browse/HBASE-14229 > Project: HBase > Issue Type: Bug > Components: regionserver > Affects Versions: 0.98.13, 1.0.2, 1.2.0, 1.1.1 > Reporter: Yerui Sun > Attachments: HBASE-14229-0.98-v2.patch, HBASE-14229-0.98.patch, > HBASE-14229-branch-1-v2.patch, HBASE-14229-branch-1-v2.patch, > HBASE-14229-branch-1.patch > > > A Coprocessor override "public InternalScanner preFlush(final Store store, > final InternalScanner scanner)" and return NULL when calling this method, > will cancel flush request, leaving snapshot un-flushed, and no new storefile > created. But the HRegion.internalFlushCache still set down memstoreSize to 0 > by totalFlushableSize. > If there's no write requests anymore, the memstoreSize will remaining as 0, > and no more flush quests will be processed because of the checking of > memstoreSize.get() <=0 at the beginning of internalFlushCache. > This issue may not cause data loss, but it will confuse coprocessor users. If > we argree with this, I'll apply a patch later. -- This message was sent by Atlassian JIRA (v6.3.4#6332)