[
https://issues.apache.org/jira/browse/HBASE-21041?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Allan Yang updated HBASE-21041:
-------------------------------
Attachment: HBASE-21041.branch-2.0.002.patch
> 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)