[
https://issues.apache.org/jira/browse/HBASE-4422?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Phabricator updated HBASE-4422:
-------------------------------
Attachment: D1341.1.patch
mbautin requested code review of "[jira] [HBASE-4422] [89-fb] Move block cache
parameters and references into single CacheConfig class".
Reviewers: Kannan, Karthik, nspiegelberg, Liyin, JIRA
This is an 89-fb port of Jonathan Gray's CacheConfig patch. This diff also
undoes Liyin's work to disable cache-on-write on compactions
(rHBASEEIGHTNINEFBBRANCH1233731, the 89-fb version HBASE-3976). The status of
HBASE-3976 is unclear, because it seems reverted in trunk and CacheConfig would
completely change how it would work anyway. Thus, I am planning to investigate
the status of HBASE-3976 in trunk add a unit test verifying whether we cache
blocks on write in compactions (HBASE-5230), and implement HBASE-3976 in a
consistent way in both trunk and 89-fb.
Coming back to HBASE-4422: here is Jonathan's original description of
CacheConfig. From StoreFile down to HFile, we previously used a boolean
argument for each of the various block cache configuration parameters. The
number of parameters is going to continue to increase as we look at compressed
cache, etc. Every new config currently requires changing many constructors
because it introduces a new boolean. In this patch we move everything into a
single class so that modifications are much less disruptive.
TEST PLAN
Unit tests, dev cluster, dark launch
REVISION DETAIL
https://reviews.facebook.net/D1341
AFFECTED FILES
src/main/java/org/apache/hadoop/hbase/HConstants.java
src/main/java/org/apache/hadoop/hbase/io/HalfStoreFileReader.java
src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileReader.java
src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileWriter.java
src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCache.java
src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java
src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java
src/main/java/org/apache/hadoop/hbase/io/hfile/HFilePrettyPrinter.java
src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV1.java
src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java
src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV1.java
src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV2.java
src/main/java/org/apache/hadoop/hbase/io/hfile/LruBlockCache.java
src/main/java/org/apache/hadoop/hbase/io/hfile/SimpleBlockCache.java
src/main/java/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat.java
src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java
src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
src/main/java/org/apache/hadoop/hbase/regionserver/Store.java
src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java
src/main/java/org/apache/hadoop/hbase/regionserver/metrics/SchemaMetrics.java
src/main/java/org/apache/hadoop/hbase/util/BloomFilterFactory.java
src/main/java/org/apache/hadoop/hbase/util/CompressionTest.java
src/test/java/org/apache/hadoop/hbase/HFilePerformanceEvaluation.java
src/test/java/org/apache/hadoop/hbase/io/TestHalfStoreFileReader.java
src/test/java/org/apache/hadoop/hbase/io/hfile/RandomSeek.java
src/test/java/org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.java
src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java
src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlockIndex.java
src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFilePerformance.java
src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileReaderV1.java
src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileSeek.java
src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV2.java
src/test/java/org/apache/hadoop/hbase/io/hfile/TestReseekTo.java
src/test/java/org/apache/hadoop/hbase/io/hfile/TestScannerSelectionUsingTTL.java
src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekTo.java
src/test/java/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java
src/test/java/org/apache/hadoop/hbase/mapreduce/TestLoadIncrementalHFiles.java
src/test/java/org/apache/hadoop/hbase/regionserver/CreateRandomStoreFile.java
src/test/java/org/apache/hadoop/hbase/regionserver/HFileReadWriteTest.java
src/test/java/org/apache/hadoop/hbase/regionserver/TestBlocksRead.java
src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactSelection.java
src/test/java/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.java
src/test/java/org/apache/hadoop/hbase/regionserver/TestFSErrorsExposed.java
src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java
src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFile.java
src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALReplay.java
MANAGE HERALD DIFFERENTIAL RULES
https://reviews.facebook.net/herald/view/differential/
WHY DID I GET THIS EMAIL?
https://reviews.facebook.net/herald/transcript/2805/
Tip: use the X-Herald-Rules header to filter Herald messages in your client.
> Move block cache parameters and references into single CacheConf class
> ----------------------------------------------------------------------
>
> Key: HBASE-4422
> URL: https://issues.apache.org/jira/browse/HBASE-4422
> Project: HBase
> Issue Type: Improvement
> Components: io
> Reporter: Jonathan Gray
> Assignee: Jonathan Gray
> Fix For: 0.92.0
>
> Attachments: CacheConfig92-v8.patch, D1341.1.patch,
> HBASE-4422-FINAL-branch92.patch, HBASE-4422-FINAL-trunk.patch
>
>
> From StoreFile down to HFile, we currently use a boolean argument for each of
> the various block cache configuration parameters that exist. The number of
> parameters is going to continue to increase as we look at compressed cache,
> delta encoding, and more specific L1/L2 configuration. Every new config
> currently requires changing many constructors because it introduces a new
> boolean.
> We should move everything into a single class so that modifications are much
> less disruptive.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira