[ https://issues.apache.org/jira/browse/HBASE-9785?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Himanshu Vashishtha updated HBASE-9785: --------------------------------------- Attachment: HBase-9785.patch Patch to fix the issue. Tested TestHeapSize on both 32 bit and 64 bit machines. > Fix heap size reporting in HRegion > ---------------------------------- > > Key: HBASE-9785 > URL: https://issues.apache.org/jira/browse/HBASE-9785 > Project: HBase > Issue Type: Bug > Affects Versions: 0.96.0 > Reporter: Himanshu Vashishtha > Fix For: 0.98.0, 0.96.1 > > Attachments: HBase-9785.patch > > > The size reported by Fixed_Overhead variable in HRegion misses out on a > boolean variable. TestHeapSize doesn't report it because of the alignment we > do to make it multiple of 8. > The equation for HRegion heap usage from Fixed_Overhead is: > Fixed_Overhead = align(100 + 42*ref + 1 arr) = align(284) = 288 on a 32 bit vm > (On a 32 bit vm, 1 ref = 4bytes, 1 arr = 16 bytes) > The equation formed using reflection (in Classsize) is: > Expected_Overehead = align(101 + 42*ref + 1arr) = align(285) = 288. > So, the testHeapSize doesn't fail currently. > But if I add a reference (did in last patch in 8741), it starts failing > because, now the equations are: > Fixed_Overhead = align(100 + 43*ref + 1 arr) = align(288) = 288 > Expected_Overhead = align(101 + 43*ref + 1 arr) = align(289) = 296. -- This message was sent by Atlassian JIRA (v6.1#6144)