[
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.