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

Yu Li updated HBASE-16300:
--------------------------
       Resolution: Fixed
    Fix Version/s: 1.2.3
                   0.98.21
                   1.3.0
                   2.0.0
           Status: Resolved  (was: Patch Available)

Pushed into all branches except for branch-1.1 since branch-1.1 doesn't have 
HBASE-14793.

Thanks [~haoran] for the patch and thanks [~stack] for review.

> LruBlockCache.CACHE_FIXED_OVERHEAD should calculate LruBlockCache size 
> correctly
> --------------------------------------------------------------------------------
>
>                 Key: HBASE-16300
>                 URL: https://issues.apache.org/jira/browse/HBASE-16300
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Yu Sun
>            Assignee: Yu Sun
>             Fix For: 2.0.0, 1.3.0, 0.98.21, 1.2.3
>
>         Attachments: HBASE-16300-v1.patch
>
>
> in current master {{LruBlockCache}},  CACHE_FIXED_OVERHEAD is calculated as 
> this:
> {code}
>   public final static long CACHE_FIXED_OVERHEAD = ClassSize.align(
>       (3 * Bytes.SIZEOF_LONG) + (10 * ClassSize.REFERENCE) +
>       (5 * Bytes.SIZEOF_FLOAT) + (2 * Bytes.SIZEOF_BOOLEAN)
>       + ClassSize.OBJECT);
> {code}
> after some investigation. I think there are some wrong here, {{class 
> LruBlockCache}}, except static varible(which is belongs to class), there are 
> 4 long varibles(maxBlockSize,maxSize,blockSize and overhead), 9 reference 
> varibles and 2 boolean varibles, so the above code will not calculate 
> LruBlockCache instance size correctly.
> current related ut not failed mostly due to the result is 8 bytes aligned.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to