[
https://issues.apache.org/jira/browse/HBASE-5357?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13215249#comment-13215249
]
Hudson commented on HBASE-5357:
-------------------------------
Integrated in HBase-TRUNK #2668 (See
[https://builds.apache.org/job/HBase-TRUNK/2668/])
[jira] [HBASE-5357] Refactoring: use the builder pattern for
HColumnDescriptor
Summary: 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
Reviewers: JIRA, todd, stack, tedyu, Kannan, Karthik, Liyin
Reviewed By: tedyu
Differential Revision: https://reviews.facebook.net/D1851 (Revision 1293026)
Result = SUCCESS
mbautin :
Files :
* /hbase/trunk/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java
* /hbase/trunk/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java
*
/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/UnmodifyableHColumnDescriptor.java
* /hbase/trunk/src/main/java/org/apache/hadoop/hbase/thrift/ThriftUtilities.java
* /hbase/trunk/src/test/java/org/apache/hadoop/hbase/HBaseTestCase.java
* /hbase/trunk/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
* /hbase/trunk/src/test/java/org/apache/hadoop/hbase/TestSerialization.java
*
/hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
*
/hbase/trunk/src/test/java/org/apache/hadoop/hbase/io/encoding/TestEncodedSeekers.java
*
/hbase/trunk/src/test/java/org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.java
*
/hbase/trunk/src/test/java/org/apache/hadoop/hbase/io/hfile/TestForceCacheImportantBlocks.java
*
/hbase/trunk/src/test/java/org/apache/hadoop/hbase/io/hfile/TestScannerSelectionUsingTTL.java
*
/hbase/trunk/src/test/java/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java
*
/hbase/trunk/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportExport.java
*
/hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestBlocksRead.java
*
/hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestColumnSeeking.java
*
/hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestFSErrorsExposed.java
*
/hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
*
/hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.java
*
/hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestScanWithBloomError.java
*
/hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestScanner.java
*
/hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestSeekOptimizations.java
*
/hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestWideScanner.java
*
/hbase/trunk/src/test/java/org/apache/hadoop/hbase/thrift2/TestThriftHBaseServiceHandler.java
> Use builder pattern in HColumnDescriptor
> ----------------------------------------
>
> 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, D1851.2.patch, D1851.3.patch,
> D1851.4.patch,
> Use-builder-pattern-for-HColumnDescriptor-2012-02-21_19_13_35.patch,
> Use-builder-pattern-for-HColumnDescriptor-2012-02-23_12_42_49.patch,
> Use-builder-pattern-for-HColumnDescriptor-20120223113155-e387d251.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 particular JIRA addresses the HColumnDescriptor refactoring. For
> StoreFile/HFile refactoring see HBASE-5442.
--
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