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