[ 
https://issues.apache.org/jira/browse/HBASE-15950?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15315224#comment-15315224
 ] 

Enis Soztutar commented on HBASE-15950:
---------------------------------------

bq. Nope. JOL is GPL.
Thats a bummer. I was looking under 
http://hg.openjdk.java.net/code-tools/jol/file/e8e889a8ae3d/src/license, and 
saw BSD, but apparently not 
http://hg.openjdk.java.net/code-tools/jol/file/e8e889a8ae3d/LICENSE. 

In any case, we cannot use a JOL or a similar library to estimate byte[] or 
other non-static class sizes since the parsing for each instance seems to be 
pretty costly. I was thinking of getting the oops size and class size aligning 
and change our ClassSize to use the dynamic information. Using Unsafe we can 
still instantiate KV and other well-known objects and measure the actual base 
sizes. 

> We are grossly overestimating the memstore size
> -----------------------------------------------
>
>                 Key: HBASE-15950
>                 URL: https://issues.apache.org/jira/browse/HBASE-15950
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>             Fix For: 2.0.0
>
>         Attachments: Screen Shot 2016-06-02 at 8.48.27 PM.png
>
>
> While testing something else, I was loading a region with a lot of data. 
> Writing 30M cells in 1M rows, with 1 byte values. 
> The memstore size turned out to be estimated as 4.5GB, while with the JFR 
> profiling I can see that we are using 2.8GB for all the objects in the 
> memstore (KV + KV byte[] + CSLM.Node + CSLM.Index). 
> This obviously means that there is room in the write cache that we are not 
> effectively using. 



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

Reply via email to