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

Allan Yang commented on HBASE-21041:
------------------------------------

{quote}
You have this pattern a few times, when is region going to be null? Not saying 
that this needs to change, but trying to understand for my own edification.
{quote}
regionServices can be null when testing. Add a comment for this, thanks, 
[~mdrob]

> Memstore's heap size will be decreased to minus zero after flush
> ----------------------------------------------------------------
>
>                 Key: HBASE-21041
>                 URL: https://issues.apache.org/jira/browse/HBASE-21041
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 2.1.0, 2.0.1
>            Reporter: Allan Yang
>            Assignee: Allan Yang
>            Priority: Major
>         Attachments: HBASE-21041.branch-2.0.001.patch, 
> HBASE-21041.branch-2.0.002.patch
>
>
> When creating an active mutable segment (MutableSegment) in memstore, 
> MutableSegment's deep overheap (208 bytes) was added to its heap size, but 
> not to the region's memstore's heap size. And so was the immutable 
> segment(CSLMImmutableSegment) which the mutable segment turned into 
> (additional 8 bytes ) later. So after one flush, the memstore's heapsize will 
> be decreased to -216 bytes, The minus number will accumulate after every 
> flush. 
> CompactingMemstore has this problem too.
> We need to record the overhead for CSLMImmutableSegment and MutableSegment to 
> the corresponding region's memstore size.
> For CellArrayImmutableSegment,  CellChunkImmutableSegment and 
> CompositeImmutableSegment , it is not necessary to do so, because inside 
> CompactingMemstore, the overheads are already be taken care of when transfer 
> a CSLMImmutableSegment into them.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to