[
https://issues.apache.org/jira/browse/HBASE-21041?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16587510#comment-16587510
]
Mike Drob commented on HBASE-21041:
-----------------------------------
{code}
- + 7 * ClassSize.REFERENCE // Store, RegionServicesForStores,
CompactionPipeline,
+ + 6 * ClassSize.REFERENCE // Store, RegionServicesForStores,
CompactionPipeline,
{code}
Need to update comment to remove RegionServicesForStores
{code}
+ if (regionServices != null) {
+ regionServices.addMemStoreSize(memstoreAccounting.getDataSize(),
{code}
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.
Patch v2 doesn't apply for me, maybe needs a rebase. I'm +1 overall though, can
fix the comment on commit.
> 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)