You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "sunyerui (JIRA)" <ji...@apache.org> on 2015/08/17 06:23:45 UTC
[jira] [Created] (HBASE-14229) Flushing canceled by coprocessor
still leads to memstoreSize set down
sunyerui created HBASE-14229:
--------------------------------
Summary: 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: 1.1.1, 0.98.13, 1.0.2, 1.2.0
Reporter: sunyerui
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)