[
https://issues.apache.org/jira/browse/HBASE-8771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13688683#comment-13688683
]
Chris Trezzo commented on HBASE-8771:
-------------------------------------
hmm. That is a good point. Set scope is called from the HColumnDescriptor
constructor. What if you did the check at the shell layer right before you call
setScope in the hcd(arg, htd) method (admin.rb)? You could also make it so the
HColumnDescriptor doesn't call setScope.
> ensure replication_scope's value is either local(0) or global(1)
> ----------------------------------------------------------------
>
> Key: HBASE-8771
> URL: https://issues.apache.org/jira/browse/HBASE-8771
> Project: HBase
> Issue Type: Bug
> Components: Replication
> Affects Versions: 0.94.8
> Reporter: Demai Ni
> Priority: Minor
> Fix For: 0.94.9
>
> Attachments: HBASE-8771-0.94.8-v0.patch
>
>
> For replication_scope, only two values are meaningful:
> {code}
> public static final int REPLICATION_SCOPE_LOCAL = 0;
> public static final int REPLICATION_SCOPE_GLOBAL = 1;
> {code}
> However, there is no checking for that, so currently user can set it to any
> integer value. And all non-zero value will be treated as 1(GLOBAL).
> This jira is to add a checking in HColumnDescriptor#setScope() so that only 0
> and 1 will be accept during create_table or alter_table.
> In the future, we can leverage replication_scope to store for info. For
> example:
> -1: A columnfam is replicated from another cluster in MASTER_SLAVE setup (i.e
> readonly)
> 2 : A columnfam is set MASTER_MASTER
> Probably a major improve JIRA is needed for the future usage. It will be good
> to ensure the scope value at this moment.
> {code:title=Testing|borderStyle=solid}
> hbase(main):002:0> create 't1_dn',{NAME=>'cf1',REPLICATION_SCOPE=>2}
> ERROR: java.lang.IllegalArgumentException: Replication Scope must be either
> 0(local) or 1(global)
> ...
> hbase(main):004:0> alter 't1_dn',{NAME=>'cf1',REPLICATION_SCOPE=>-1}
> ERROR: java.lang.IllegalArgumentException: Replication Scope must be either
> 0(local) or 1(global)
> ...
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira