[
https://issues.apache.org/jira/browse/HBASE-4027?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13089148#comment-13089148
]
[email protected] commented on HBASE-4027:
------------------------------------------------------
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1214/#review1594
-----------------------------------------------------------
Looking good! Still some lines > 80 chars and whitespace to fix, but otherwise
not much to comment on. As we discussed, I find the Cacheable interface name a
bit confusing. Maybe rename it, or just fill the classes and methods with
awesome javadoc that explains how it all works :)
Also, should probably add a section to the book about this? Some of these
parameters are pretty important and the defaults could be wasteful for some of
the default use cases (for example, always giving 20% of heap to blocks > 1.1X
block size)
src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCache.java
<https://reviews.apache.org/r/1214/#comment3591>
is it required still that the block contents be wrapped in a ByteBuffer?
does Cacheable enforce this? if not, should this javadoc be updated?
src/main/java/org/apache/hadoop/hbase/io/hfile/CacheStats.java
<https://reviews.apache.org/r/1214/#comment3592>
extra newline (maybe move it to below the public class).
also missing a space after CacheStats
src/main/java/org/apache/hadoop/hbase/io/hfile/DoubleBlockCache.java
<https://reviews.apache.org/r/1214/#comment3594>
looks like this javadoc is accidentally applied on the CacheStats private
var instead of constructor
src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java
<https://reviews.apache.org/r/1214/#comment3595>
should this be moved somewhere else? seems strange to have all this code
up in the top of the class in the middle of class variable members
src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SingleSizeCache.java
<https://reviews.apache.org/r/1214/#comment3596>
is this necessary since we throw a runtime exception? could this leave the
RS in a weird state? should we actually halt or abort? or will that happen
when this gets thrown?
src/main/java/org/apache/hadoop/hbase/io/hfile/slab/Slab.java
<https://reviews.apache.org/r/1214/#comment3599>
i think this is the only place you use the term "chunks". should we just
call the slab chunks blocks? or should we call them chunks everywhere to avoid
confusion with hfile blocks? although they are kinda the same :)
src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SlabCache.java
<https://reviews.apache.org/r/1214/#comment3597>
javadoc
src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SlabItemEvictionWatcher.java
<https://reviews.apache.org/r/1214/#comment3600>
add @param @return javadoc
- Jonathan
On 2011-08-22 23:09:44, 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-22 23:09:44)
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. CHANGES.txt 0bb7c65
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/BlockCacheColumnFamilySummary.java
34513f1
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/ipc/HRegionInterface.java 8f5600d
bq. src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
a817c37
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/main/java/org/apache/hadoop/hbase/util/FSUtils.java d6fa01b
bq. src/test/java/org/apache/hadoop/hbase/io/hfile/CacheTestUtils.java
PRE-CREATION
bq.
src/test/java/org/apache/hadoop/hbase/io/hfile/TestBlockCacheColumnFamilySummary.java
cc4abc6
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.
src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFileBlockCacheSummary.java
f8a854c
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, 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