[ https://issues.apache.org/jira/browse/HBASE-5357?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lars Francke updated HBASE-5357: -------------------------------- Fix Version/s: (was: 0.96.0) > 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: ASF.LICENSE.NOT.GRANTED--D1851.1.patch, > ASF.LICENSE.NOT.GRANTED--D1851.2.patch, > ASF.LICENSE.NOT.GRANTED--D1851.3.patch, > ASF.LICENSE.NOT.GRANTED--D1851.4.patch, > ASF.LICENSE.NOT.GRANTED--D1929.1.patch, > ASF.LICENSE.NOT.GRANTED--D1929.2.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 was sent by Atlassian JIRA (v6.3.4#6332)