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)

Reply via email to