You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Demai Ni (JIRA)" <ji...@apache.org> on 2013/06/19 20:41:20 UTC
[jira] [Created] (HBASE-8771) ensure replication_scope's value is
either local(0) or global(1)
Demai Ni created HBASE-8771:
-------------------------------
Summary: 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
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