[ https://issues.apache.org/jira/browse/HBASE-4027?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13091638#comment-13091638 ]
jirapos...@reviews.apache.org commented on HBASE-4027: ------------------------------------------------------ bq. On 2011-08-26 06:39:36, Michael Stack wrote: bq. > src/main/java/org/apache/hadoop/hbase/io/hfile/CacheableDeserializer.java, line 1 bq. > <https://reviews.apache.org/r/1214/diff/25/?file=34984#file34984line1> bq. > bq. > When would we have an instance of Cacheable where we did not need to serialize AND deserialize? (Wondering if worth having this extra CacheableDeserializer) If you wanted something to only reside in the on heap cache, you'd return 0 for getSerializedLength, and return null for getDeserializer. bq. On 2011-08-26 06:39:36, Michael Stack wrote: bq. > src/main/java/org/apache/hadoop/hbase/io/hfile/Cacheable.java, line 44 bq. > <https://reviews.apache.org/r/1214/diff/25/?file=34983#file34983line44> bq. > bq. > Is it ok that "already serialize" and "can't be serialized" return same response out of this method? Theres no longer an "already serialized" state. I now remove the object entirely from the heap. I'll edit the comments. bq. On 2011-08-26 06:39:36, Michael Stack wrote: bq. > src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SingleSizeCache.java, line 49 bq. > <https://reviews.apache.org/r/1214/diff/25/?file=34990#file34990line49> bq. > bq. > Whats this mean ('an exception will be thrown..') Will we ever try to put something into a block that is larger than the block? Its a programming error if we do? If a serialized object is larger than a 'block', what do we do? Its a programming error if we do, we shouldn't ever do it, the sizer should make sure of that. I'll add that to the comments. bq. On 2011-08-26 06:39:36, Michael Stack wrote: bq. > src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SingleSizeCache.java, line 52 bq. > <https://reviews.apache.org/r/1214/diff/25/?file=34990#file34990line52> bq. > bq. > Where is this ConcurrentLinkedHashMap? Its not in this class? I see a ConcurrentMap. Its made in the depths of guava? Its made by Guava's MapMaker. I'll add it to the comments. - Li ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1214/#review1653 ----------------------------------------------------------- On 2011-08-24 04:08:40, 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-24 04:08:40) 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 bfd863e bq. src/main/java/org/apache/hadoop/hbase/io/hfile/CacheStats.java PRE-CREATION bq. src/main/java/org/apache/hadoop/hbase/io/hfile/Cacheable.java PRE-CREATION bq. src/main/java/org/apache/hadoop/hbase/io/hfile/CacheableDeserializer.java PRE-CREATION bq. src/main/java/org/apache/hadoop/hbase/io/hfile/CachedBlock.java 3b130d8 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 ae75299 bq. src/main/java/org/apache/hadoop/hbase/io/hfile/SimpleBlockCache.java 7ce4f14 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 3efba7f 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/CacheTestUtils.java PRE-CREATION bq. src/test/java/org/apache/hadoop/hbase/io/hfile/TestCachedBlockQueue.java 1ad2ece bq. src/test/java/org/apache/hadoop/hbase/io/hfile/TestLruBlockCache.java f0a9832 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/TestMemStoreLAB.java d7e43a0 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-4027v13.1.diff, > hbase-4027v6.diff, hbase4027v11.5.diff, hbase4027v11.6.diff, > hbase4027v11.7.diff, hbase4027v11.diff, hbase4027v12.1.diff, > hbase4027v12.diff, hbase4027v15.2.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