[ https://issues.apache.org/jira/browse/HBASE-4027?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13084311#comment-13084311 ]
jirapos...@reviews.apache.org commented on HBASE-4027: ------------------------------------------------------ bq. On 2011-08-12 17:26:40, Todd Lipcon wrote: bq. > src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SingleSizeCache.java, lines 101-103 bq. > <https://reviews.apache.org/r/1214/diff/8/?file=31771#file31771line101> bq. > bq. > this can race against getBlock() though: bq. > bq. > Thread A: backingMap.get(key) returns object bq. > Thread B: put() returns same object bq. > Thread B: free(object) bq. > Thread A: use object. boom? bq. > bq. > putIfAbsent shouldn't be any slower than put, may as well make use of it Ah, gotcha! I see it now. Fixed. - Li ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1214/#review1423 ----------------------------------------------------------- On 2011-08-12 08:41:37, Li Pi wrote: bq. bq. ----------------------------------------------------------- bq. This is an automatically generated e-mail. To reply, visit: bq. https://reviews.apache.org/r/1214/ bq. ----------------------------------------------------------- bq. bq. (Updated 2011-08-12 08:41:37) bq. bq. bq. Review request for hbase, Todd Lipcon, Ted Yu, Michael Stack, Jonathan Gray, and Li Pi. bq. bq. bq. Summary bq. ------- bq. bq. Review request - I apparently can't edit tlipcon's earlier posting of my diff, so creating a new one. bq. bq. bq. This addresses bug HBase-4027. bq. https://issues.apache.org/jira/browse/HBase-4027 bq. bq. bq. Diffs bq. ----- bq. bq. conf/hbase-env.sh 2d55d27 bq. src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCache.java 2d4002c bq. src/main/java/org/apache/hadoop/hbase/io/hfile/CacheStats.java PRE-CREATION bq. src/main/java/org/apache/hadoop/hbase/io/hfile/DoubleBlockCache.java PRE-CREATION bq. src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java 097dc50 bq. src/main/java/org/apache/hadoop/hbase/io/hfile/LruBlockCache.java 1338453 bq. src/main/java/org/apache/hadoop/hbase/io/hfile/SimpleBlockCache.java 886c31d bq. src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SingleSizeCache.java PRE-CREATION bq. src/main/java/org/apache/hadoop/hbase/io/hfile/slab/Slab.java PRE-CREATION bq. src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SlabCache.java PRE-CREATION bq. src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SlabItemEvictionWatcher.java PRE-CREATION bq. src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 7a917da bq. src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java 7b7bf73 bq. src/main/java/org/apache/hadoop/hbase/util/DirectMemoryUtils.java PRE-CREATION bq. src/test/java/org/apache/hadoop/hbase/io/hfile/HFileBlockCacheTestUtils.java PRE-CREATION bq. src/test/java/org/apache/hadoop/hbase/io/hfile/SingleSizeCacheTestUtils.java PRE-CREATION bq. src/test/java/org/apache/hadoop/hbase/io/hfile/slab/TestSingleSizeCache.java PRE-CREATION bq. src/test/java/org/apache/hadoop/hbase/io/hfile/slab/TestSlab.java PRE-CREATION bq. src/test/java/org/apache/hadoop/hbase/io/hfile/slab/TestSlabCache.java PRE-CREATION bq. src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFile.java 4387170 bq. bq. Diff: https://reviews.apache.org/r/1214/diff bq. bq. bq. Testing bq. ------- bq. bq. Ran benchmarks against it in HBase standalone mode. Wrote test cases for all classes, multithreaded test cases exist for the cache. bq. bq. bq. Thanks, bq. bq. Li bq. bq. > Enable direct byte buffers LruBlockCache > ---------------------------------------- > > Key: HBASE-4027 > URL: https://issues.apache.org/jira/browse/HBASE-4027 > Project: HBase > Issue Type: Improvement > Reporter: Jason Rutherglen > Assignee: Li Pi > Priority: Minor > Attachments: 4027-v5.diff, 4027v7.diff, HBase-4027 (1).pdf, > HBase-4027.pdf, HBase4027v8.diff, HBase4027v9.diff, hbase-4027-v10.5.diff, > hbase-4027-v10.diff, hbase-4027v10.6.diff, hbase-4027v6.diff, > hbase4027v11.5.diff, hbase4027v11.diff, slabcachepatch.diff, > slabcachepatchv2.diff, slabcachepatchv3.1.diff, slabcachepatchv3.2.diff, > slabcachepatchv3.diff, slabcachepatchv4.5.diff, slabcachepatchv4.diff > > > Java offers the creation of direct byte buffers which are allocated outside > of the heap. > They need to be manually free'd, which can be accomplished using an > documented {{clean}} method. > The feature will be optional. After implementing, we can benchmark for > differences in speed and garbage collection observances. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira