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

Lars Hofhansl commented on HBASE-17937:
---------------------------------------

+1 on branch-1 patch. (nice to get rid of the call in the finally block!)
For the master patch, shouldn't we also move the size update after the sync of 
the wal? [~Apache9], [~abhishek.chouhan]

> Memstore size becomes negative in case of expensive postPut/Delete 
> Coprocessor call
> -----------------------------------------------------------------------------------
>
>                 Key: HBASE-17937
>                 URL: https://issues.apache.org/jira/browse/HBASE-17937
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 2.0.0, 1.3.1, 0.98.24
>            Reporter: Abhishek Singh Chouhan
>            Assignee: Abhishek Singh Chouhan
>         Attachments: HBASE-17937.branch-1.001.patch, 
> HBASE-17937.master.001.patch, HBASE-17937.master.002.patch, 
> HBASE-17937.master.002.patch
>
>
> We ran into a situation where the memstore size became negative due to 
> expensive postPut/Delete Coprocessor calls in doMiniBatchMutate. We update 
> the memstore size in the finally block of doMiniBatchMutate, however a queued 
> flush can be triggered during the coprocessor calls(if they are taking time 
> eg. index updates) since we have released the locks and advanced mvcc at this 
> point. The flush will turn the memstore size negative since the value 
> subtracted is the actual value flushed from stores. The negative value 
> impacts the future flushes amongst others that depend on memstore size.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to