[ 
https://issues.apache.org/jira/browse/HBASE-14154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14648798#comment-14648798
 ] 

Ashish Singhi commented on HBASE-14154:
---------------------------------------

Thanks [~lhofhansl] for the review.
Thank you so much [[email protected]] for the patch.
bq. Another minor nit: I think there should be a check in setDFSReplication on 
whether the passed value is valid.
Is It really required ? Because we are already calling 
{{HMaster#sanityCheckTableDescriptor}} for both create and modify table calls, 
which will internally check this and I have not seen any setter validating for 
the passed values except {{HColumnDescriptor#setVersions}}, which is also being 
validated in {{HMaster#sanityCheckTableDescriptor}}.

(Not related to this jira)
While checking the code I see that {{MIN_VERSIONS}} in {{HColumnDescriptor}} 
class in HMaster#sanityCheckTableDescriptor is getting validated for less than 
0 
{code}
      // check versions
      if (hcd.getMinVersions() < 0) {
        String message = "Min versions for column family " + 
hcd.getNameAsString()
          + "  must be positive.";
        warnOrThrowExceptionForFailure(logWarn, CONF_KEY, message, null);
      }
{code}
where as in HColumnDescriptor#setVersions, it is getting validated for less 
than or equal to 0
{code}
    if (minVersions <= 0) {
      // TODO: Allow minVersion and maxVersion of 0 to be the way you say "Keep 
all versions".
      // Until there is support, consider 0 or < 0 -- a configuration error.
      throw new IllegalArgumentException("Minimum versions must be positive");
    }
{code}
There are chances(very light) that it may lead to inconsistency.

> DFS Replication should be configurable at column family level
> -------------------------------------------------------------
>
>                 Key: HBASE-14154
>                 URL: https://issues.apache.org/jira/browse/HBASE-14154
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: Ashish Singhi
>            Assignee: Ashish Singhi
>            Priority: Minor
>             Fix For: 2.0.0, 0.98.14, 1.3.0
>
>         Attachments: HBASE-14154-0.98-v1.patch, HBASE-14154-0.98.patch, 
> HBASE-14154-branch-1-v1.patch, HBASE-14154-branch-1.patch, 
> HBASE-14154-v1.patch, HBASE-14154-v2.patch, HBASE-14154.patch
>
>
> There are cases where a user wants to have a control on the number of hfile 
> copies he/she can have in the cluster.
> For eg: For a test table user would like to have only one copy instead of 
> three(default).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to