Lars George created HBASE-17635:
-----------------------------------
Summary: enable_table_replication script cannot handle replication
scope
Key: HBASE-17635
URL: https://issues.apache.org/jira/browse/HBASE-17635
Project: HBase
Issue Type: Bug
Components: Replication
Affects Versions: 1.3.1
Reporter: Lars George
When you add a peer, then enable a table for replication using
{{enable_table_replication}}, the script will create the table on the peer
cluster, but with one difference:
_Master Cluster_:
{noformat}
hbase(main):027:0> describe 'testtable'
Table testtable is ENABLED
testtable
COLUMN FAMILIES DESCRIPTION
{NAME => 'cf1', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW',
REPLICATION_SCOPE => '1', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS
=> '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE',
BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}
1 row(s) in 0.0700 seconds
{noformat}
_Peer Cluster_:
{noformat}
hbase(main):003:0> describe 'testtable'
Table testtable is ENABLED
testtable
COLUMN FAMILIES DESCRIPTION
{NAME => 'cf1', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW',
REPLICATION_SCOPE => '0', COMPRESSION => 'NONE', VERSIONS => '1', TTL =>
'FOREVER', MIN_VERSIONS => '0', KEEP_DELETED_CELLS => 'FALSE',
BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}
1 row(s) in 0.1260 seconds
{noformat}
Note that the replication scope is different. Removing the peer, adding it
again and enabling the table gives this now:
{noformat}
hbase(main):026:0> enable_table_replication 'testtable'
ERROR: Table testtable exists in peer cluster 1, but the table descriptors are
not same when compared with source cluster. Thus can not enable the table's
replication switch.
{noformat}
That is dumb, as it was the same script that enabled the replication scope in
the first place. It should skip that particular attribute when comparing the
cluster schemas.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)