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

Yerui Sun commented on HBASE-14229:
-----------------------------------

BTW, I also applied a patch for 0.98 branch, it seems didn't tested by Hadoop 
QA.

Should we need still work on merging it into 0.98-branch, or just fix this 
issue in 1.x and upper?

> 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.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)

Reply via email to