You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Phabricator (Updated) (JIRA)" <ji...@apache.org> on 2012/01/20 22:22:43 UTC

[jira] [Updated] (HBASE-4422) Move block cache parameters and references into single CacheConf class

     [ 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