[ 
https://issues.apache.org/jira/browse/HBASE-5357?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Phabricator updated HBASE-5357:
-------------------------------

    Attachment: D1851.1.patch

mbautin requested code review of "[jira] [HBASE-5357] Refactoring: use the 
builder pattern for HColumnDescriptor".
Reviewers: JIRA, todd, stack, tedyu, Kannan, Karthik, Liyin

  Deprecate three ugly HColumnDescriptor constructors and use a "builder" 
pattern instead, e.g. new 
HColumnDescriptor(cfName).setMaxVersions(5).setBlockSize(8192), etc. Setters 
have now become "builder" methods.

TEST PLAN
  Run unit tests

REVISION DETAIL
  https://reviews.facebook.net/D1851

AFFECTED FILES
  src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java
  src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java
  
src/main/java/org/apache/hadoop/hbase/client/UnmodifyableHColumnDescriptor.java
  src/main/java/org/apache/hadoop/hbase/thrift/ThriftUtilities.java
  src/test/java/org/apache/hadoop/hbase/HBaseTestCase.java
  src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
  src/test/java/org/apache/hadoop/hbase/TestSerialization.java
  src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
  src/test/java/org/apache/hadoop/hbase/io/encoding/TestEncodedSeekers.java
  src/test/java/org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.java
  
src/test/java/org/apache/hadoop/hbase/io/hfile/TestForceCacheImportantBlocks.java
  
src/test/java/org/apache/hadoop/hbase/io/hfile/TestScannerSelectionUsingTTL.java
  src/test/java/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java
  src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportExport.java
  src/test/java/org/apache/hadoop/hbase/regionserver/TestBlocksRead.java
  src/test/java/org/apache/hadoop/hbase/regionserver/TestColumnSeeking.java
  src/test/java/org/apache/hadoop/hbase/regionserver/TestFSErrorsExposed.java
  src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
  src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.java
  src/test/java/org/apache/hadoop/hbase/regionserver/TestScanWithBloomError.java
  src/test/java/org/apache/hadoop/hbase/regionserver/TestScanner.java
  src/test/java/org/apache/hadoop/hbase/regionserver/TestSeekOptimizations.java
  src/test/java/org/apache/hadoop/hbase/regionserver/TestWideScanner.java
  
src/test/java/org/apache/hadoop/hbase/thrift2/TestThriftHBaseServiceHandler.java

MANAGE HERALD DIFFERENTIAL RULES
  https://reviews.facebook.net/herald/view/differential/

WHY DID I GET THIS EMAIL?
  https://reviews.facebook.net/herald/transcript/3933/

Tip: use the X-Herald-Rules header to filter Herald messages in your client.

                
> Use builder pattern in StoreFile, HFile, and HColumnDescriptor instantiation
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-5357
>                 URL: https://issues.apache.org/jira/browse/HBASE-5357
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Mikhail Bautin
>            Assignee: Mikhail Bautin
>         Attachments: D1851.1.patch
>
>
> We have five ways to create an HFile writer, two ways to create a StoreFile 
> writer, and the sets of parameters keep changing, creating a lot of 
> confusion, especially when porting patches across branches. The same thing is 
> happening to HColumnDescriptor. I think we should move to a "builder pattern" 
> solution, e.g.
> {code:java}
>   HFileWriter w = HFile.getWriterBuilder(conf, <some common args>)
>       .setParameter1(value1)
>       .setParameter2(value2)
>       ...
>       .build();
> {code}
> Each parameter setter being on its own line will make merges/cherry-pick work 
> properly, we will not have to even mention default parameters again, and we 
> can eliminate a dozen impossible-to-remember constructors.

--
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

        

Reply via email to