[
https://issues.apache.org/jira/browse/HBASE-1192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12671960#action_12671960 ]
Erik Holstad commented on HBASE-1192:
-------------------------------------
In the instructions for SoftReferences you can find:
"All soft references to softly-reachable objects are guaranteed to have been cleared before the virtual machine throws an OutOfMemoryError. Otherwise no constraints are placed upon the time at which a soft reference will be cleared or the order in which a set of such references to different objects will be cleared. Virtual machine implementations are, however, encouraged to bias against clearing recently-created or recently-used soft references."
Which would mean that the behavior would change from JVM to JVM, so the Lruness of the system is clearly questionable.
Ran a test where I used SoftSortedValueMap and inserted 10M entries into it, all entries were the same size.
i is the entry currently inserted
size of map before 1285540
size of deletes 1285537
size of map after 3
i 1285540
size of map before 1287469
size of deletes 443
size of map after 1287026
i 2573006
size of map before 1287027
size of deletes 2075
size of map after 1284952
i 2573007
size of map before 1284953
size of deletes 692
size of map after 1284261
i 2573008
size of map before 1284262
size of deletes 624
size of map after 1283638
i 2573009
size of map before 1283639
size of deletes 650
size of map after 1282989
i 2573010
size of map before 1282990
size of deletes 672
size of map after 1282318
i 2573011
size of map before 1282319
size of deletes 632
size of map after 1281687
i 2573012
size of map before 1281688
size of deletes 1281679
size of map after 9
i 2573013
size of map before 1285424
size of deletes 1285423
size of map after 1
i 3858428
size of map before 1286746
size of deletes 1286745
size of map after 1
i 5145173
size of map before 1285660
size of deletes 1285659
size of map after 1
i 6430832
size of map before 1286804
size of deletes 1286802
size of map after 2
i 7717635
size of map before 1286745
size of deletes 1286744
size of map after 1
i 9004378
So one can see that sometimes it evicts a some 100 entries for every insert and other times
it basically empties the whole map, but waits long in between.
LRU-style map for the block cache
---------------------------------
Key: HBASE-1192
URL:
https://issues.apache.org/jira/browse/HBASE-1192Project: Hadoop HBase
Issue Type: New Feature
Components: regionserver
Reporter: Jonathan Gray
Priority: Blocker
Fix For: 0.20.0
We need to decide what structure to use to back the block cache. The primary decision is whether to continue using SoftReferences or to build our own structure.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.