Allan Yang created HBASE-21041:
----------------------------------

             Summary: 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.0.1, 2.1.0
            Reporter: Allan Yang
            Assignee: Allan Yang


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