[
https://issues.apache.org/jira/browse/HBASE-1186?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Purtell updated HBASE-1186:
----------------------------------
Resolution: Fixed
Status: Resolved (was: Patch Available)
Committed to trunk. Passes all local tests, including the new test case
addition for this feature.
> Memory-aware Maps with LRU eviction for Cell Cache
> --------------------------------------------------
>
> Key: HBASE-1186
> URL: https://issues.apache.org/jira/browse/HBASE-1186
> Project: Hadoop HBase
> Issue Type: New Feature
> Reporter: Jonathan Gray
> Assignee: Jonathan Gray
> Priority: Critical
> Fix For: 0.20.0
>
> Attachments: hbase-1186-v2.patch, hbase-1186-v3.patch,
> hbase-1186-v4.patch, HeapSize.java, LruHashMap.java
>
>
> Caching is key for 0.20. We need a set of memory-aware data structures to
> manage our caches.
> I propose two initial classes: LruHashMap and LruBlockMap
> *LruHashMap* is currently being used over in HBASE-80 for the Cell cache.
> Erik Holstad has done extensive testing and benchmarking and will post
> results over in this issue.
> - Memory-aware
> - Fixed size
> - LRU eviction
> *LruBlockMap* can be used for the block caching of the new file format in
> HBASE-61. It should try to use all available memory, but must contend with
> Memcaches so is resizable to deal with heap pressure. Adding high priority
> blocks (evicted last) gives us in-memory functionality as described in
> bigtable paper.
> - Memory-aware
> - Fully resizable
> - LRU eviction (with some additions)
> - High priority blocks
> - _Optional: Scan resistant algorithm_
> Part of this issue is also solving how we will determine the size of cached
> objects.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.