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)

Reply via email to