[
https://issues.apache.org/jira/browse/HBASE-1186?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jonathan Gray updated HBASE-1186:
---------------------------------
Attachment: hbase-1186-v2.patch
A few small changes. Now includes two functions for debugging/unit test
purposes. One returns a sorted List of entries in the LRU in order of their
access time (oldest/first to evict is first). The other returns a Set of all
elements found in the hash table.
The two of these data structures can be used to ensure the LRU is being updated
properly and that the linked list does not become out of sync with the hash
table.
> 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, 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.