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

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

So we looked at the code here. I think this is only a temporary condition like 
this:
1. doMiniBatchMutation starts and writes things into the memstore
2. the background flusher flushes the memstore. Decrementing the memstore size.
3. doMiniBatchMutation finishes. Incrementing the memstore size.

So we only have an issue between #2 and #3. When doMiniBatchMutation finishes 
the size will be correct.
I do _not_ think it's a big problem, just a spurious log warning.

If we did not want that, we should move the incrementing of the memstore size 
right after the sync of the wal in doMiniBatchMutation (inside the MVCC 
transaction).

> 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.master.001.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