You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Lars Francke (JIRA)" <ji...@apache.org> on 2015/04/07 12:40:12 UTC

[jira] [Updated] (HBASE-5357) Use builder pattern in HColumnDescriptor

     [ 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: 0.94.20

> 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
>             Fix For: 0.94.20
>
>         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)