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

Andrew Purtell commented on HBASE-18626:
----------------------------------------

On HBASE-19099, [~zghaobac] said:

{quote}
There is a problem when rolling update to hbase 1.4 if the old cluster have 
tabel-cfs config in replication peer.
In our internal cluster, our solution is:
1. master and client use different kerberos user.
2. disable replication peer
3. upgrade the replication peer config from string to PB. And update the owner 
from client user to master kerberos.
4. rolling update cluster to new version. (Which support PB peer config and 
route all replication request to master).
5. enable replication peer
{quote}

The step 1 isn't relevant for branch-1 / branch-1.4. The rest are. I think we 
can handle this change by documenting the upgrade procedure in the release note 
for HBASE-16653. 

As part of the 1.4.0 release, I will be including in the release announcement 
the text from the release notes on all the JIRAs where something significant 
has changed. 

> Handle the incompatible change about the replication TableCFs' config
> ---------------------------------------------------------------------
>
>                 Key: HBASE-18626
>                 URL: https://issues.apache.org/jira/browse/HBASE-18626
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Guanghao Zhang
>            Priority: Blocker
>             Fix For: 1.4.0, 2.0.0-beta-2
>
>
> About compatibility, there is one incompatible change about the replication 
> TableCFs' config. The old config is a string and it concatenate the list of 
> tables and column families in format "table1:cf1,cf2;table2:cfA,cfB" in 
> zookeeper for table-cf to replication peer mapping. When parse the config, it 
> use ":" to split the string. If table name includes namespace, it will be 
> wrong (See HBASE-11386). It is a problem since we support namespace (0.98). 
> So HBASE-11393 (and HBASE-16653) changed it to a PB object. When rolling 
> update cluster, you need rolling master first. And the master will try to 
> translate the string config to a PB object. But there are two problems.
> 1. Permission problem. The replication client can write the zookeeper 
> directly. So the znode may have different owner. And master may don't have 
> the write permission for the znode. It maybe failed to translate old 
> table-cfs string to new PB Object. See HBASE-16938
> 2. We usually keep compatibility between old client and new server. But the 
> old replication client may write a string config to znode directly. Then the 
> new server can't parse them.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to