[ https://issues.apache.org/jira/browse/HBASE-16229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15487059#comment-15487059 ]
Hudson commented on HBASE-16229: -------------------------------- FAILURE: Integrated in Jenkins build HBase-Trunk_matrix #1593 (See [https://builds.apache.org/job/HBase-Trunk_matrix/1593/]) HBASE-16229 Cleaning up size and heapSize calculation. (garyh: rev 77b327320a72ca01b35f655c42f8c13f659dff31) * (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreSnapshot.java * (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MutableSegment.java * (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactionPipeline.java * (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java * (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactingMemStore.java * (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/AbstractMemStore.java * (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ImmutableSegment.java * (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Segment.java * (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactingToCellArrayMapMemStore.java * (edit) hbase-common/src/main/java/org/apache/hadoop/hbase/util/ClassSize.java * (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreCompactor.java * (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultMemStore.java * (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestPerColumnFamilyFlush.java * (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactingMemStore.java * (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SegmentFactory.java * (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestWalAndCompactingMemStoreFlush.java * (edit) hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestHeapSize.java > Cleaning up size and heapSize calculation > ----------------------------------------- > > Key: HBASE-16229 > URL: https://issues.apache.org/jira/browse/HBASE-16229 > Project: HBase > Issue Type: Sub-task > Affects Versions: 2.0.0 > Reporter: Anoop Sam John > Assignee: Anoop Sam John > Fix For: 2.0.0 > > Attachments: HBASE-16229.patch, HBASE-16229_V2.patch, > HBASE-16229_V3.patch, HBASE-16229_V4.patch, HBASE-16229_V5.patch, > HBASE-16229_V5.patch, HBASE-16229_V6.patch > > > It is bit ugly now. For eg: > AbstractMemStore > {code} > public final static long FIXED_OVERHEAD = ClassSize.align( > ClassSize.OBJECT + > (4 * ClassSize.REFERENCE) + > (2 * Bytes.SIZEOF_LONG)); > public final static long DEEP_OVERHEAD = ClassSize.align(FIXED_OVERHEAD + > (ClassSize.ATOMIC_LONG + ClassSize.TIMERANGE_TRACKER + > ClassSize.CELL_SKIPLIST_SET + ClassSize.CONCURRENT_SKIPLISTMAP)); > {code} > We include the heap overhead of Segment also here. It will be better the > Segment contains its overhead part and the Memstore impl uses the heap size > of all of its segments to calculate its size. > Also this > {code} > public long heapSize() { > return getActive().getSize(); > } > {code} > HeapSize to consider all segment's size not just active's. I am not able to > see an override method in CompactingMemstore. > This jira tries to solve some of these. > When we create a Segment, we seems pass some initial heap size value to it. > Why? The segment object internally has to know what is its heap size not > like some one else dictate it. > More to add when doing this cleanup -- This message was sent by Atlassian JIRA (v6.3.4#6332)