You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Allan Yang (JIRA)" <ji...@apache.org> on 2018/08/13 11:49:00 UTC

[jira] [Updated] (HBASE-21041) Memstore's heap size will be decreased to minus zero after flush

     [ https://issues.apache.org/jira/browse/HBASE-21041?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Allan Yang updated HBASE-21041:
-------------------------------
    Status: Patch Available  (was: Open)

> 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
>            Priority: Major
>
> 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)