hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Erik Holstad (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-1590) Extend TestHeapSize and ClassSize to do "deep" sizing of Objects
Date Wed, 01 Jul 2009 23:36:47 GMT

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

Erik Holstad commented on HBASE-1590:

@Nitay,  yes that would work if we were checking sizes of Objects, but now we are just dealing
with classes so it is very hard to take that approach.

@Stack,  yup it is GPL, I just wasn't sure how you would add specific -jvm arguments to Hudson,
been trying to get it to work from within eclipse without setting the arguments but without
any luck so far. Seems like there are some tools that ship with the sun version but not with
Openjdk until 7. So if we can run it with the arguments for now would be really nice.

> Extend TestHeapSize and ClassSize to do "deep" sizing of Objects
> ----------------------------------------------------------------
>                 Key: HBASE-1590
>                 URL: https://issues.apache.org/jira/browse/HBASE-1590
>             Project: Hadoop HBase
>          Issue Type: Improvement
>    Affects Versions: 0.20.0
>            Reporter: Jonathan Gray
>             Fix For: 0.20.0
> As discussed in HBASE-1554 there is a bit of a disconnect between how ClassSize calculates
the heap size and how we need to calculate heap size in our implementations.
> For example, the LRU block cache can be sized via ClassSize, but it is a shallow sizing.
 There is a backing ConcurrentHashMap that is the largest memory consumer.  However, ClassSize
only counts that as a single reference.  But in our heapSize() reporting, we want to include
*everything* within that Object.
> This issue is to resolve that dissonance.  We may need to create an additional ClassSize.estimateDeep(),
we may need to rethink our HeapSize interface, or maybe just leave it as is.  The two primary
goals of all this testing is to 1) ensure that if something is changed and the sizing is not
updated, our tests fail, and 2) ensure our sizing is as accurate as possible.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message