You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Jonathan Gray (JIRA)" <ji...@apache.org> on 2009/07/03 00:29:47 UTC

[jira] Updated: (HBASE-1607) Redo MemStore heap sizing to be accurate, testable, and more like new LruBlockCache

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

Jonathan Gray updated HBASE-1607:
---------------------------------

    Attachment: HBASE-1607-v1.patch

Patch does what's described in jira description.

Two things to note:

- MemStore, Store, and HRegion now all implement HeapSize.  This is not really being used yet but this is how LruBlockCache works and will allow for us to have intelligent load balancing, control of memory usage, etc.

- The Store itself is still tracking the size of the keys that have been added into the MemStore, rather than querying MemStore.heapSize().  I don't see another way, for now, because it decrements at the right time based on the snapshot and flush.  So MemStore.heapSize() is currently unused.

So what this patch has actually done is make the incremental sizing of each addition to MemStore more accurate.  And so that any changes to objects involved will throw errors in tests if overheads were not updated accordingly.

> Redo MemStore heap sizing to be accurate, testable, and more like new LruBlockCache
> -----------------------------------------------------------------------------------
>
>                 Key: HBASE-1607
>                 URL: https://issues.apache.org/jira/browse/HBASE-1607
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.20.0
>            Reporter: Jonathan Gray
>            Assignee: Jonathan Gray
>             Fix For: 0.20.0
>
>         Attachments: HBASE-1607-v1.patch
>
>
> MemStore sizing is inaccurate and does not include all overhead.
> I'm going to make it look like the LruBlockCache does.  Will provide a MemStore.heapSize() method that includes ALL overhead of the MemStore itself.

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