Qianxi Zhang created HBASE-11490:
------------------------------------
Summary: In HBase Shell set_peer_tableCFs, if the tableCFS is
null, it will be wrong
Key: HBASE-11490
URL: https://issues.apache.org/jira/browse/HBASE-11490
Project: HBase
Issue Type: Bug
Components: Replication
Affects Versions: 0.99.0
Reporter: Qianxi Zhang
Assignee: Qianxi Zhang
Priority: Minor
In HBase Shell set_peer_tableCFs, If the tableCFS is null, it will throw NPE
# set all tables to be replicable for a peer
hbase> set_peer_tableCFs '1', ""
hbase> set_peer_tableCFs '1'
ReplicationAdmin#199
{code}
public void setPeerTableCFs(String id, String tableCFs) throws
ReplicationException {
this.replicationPeers.setPeerTableCFsConfig(id, tableCFs);
}
{code}
ReplicationPeersZKImpl#177
{code}
public void setPeerTableCFsConfig(String id, String tableCFsStr) throws
ReplicationException {
try {
if (!peerExists(id)) {
throw new IllegalArgumentException("Cannot set peer tableCFs because
id=" + id
+ " does not exist.");
}
String tableCFsZKNode = getTableCFsNode(id);
byte[] tableCFs = Bytes.toBytes(tableCFsStr);
if (ZKUtil.checkExists(this.zookeeper, tableCFsZKNode) != -1) {
ZKUtil.setData(this.zookeeper, tableCFsZKNode, tableCFs);
} else {
ZKUtil.createAndWatch(this.zookeeper, tableCFsZKNode, tableCFs);
}
LOG.info("Peer tableCFs with id= " + id + " is now " + tableCFsStr);
} catch (KeeperException e) {
throw new ReplicationException("Unable to change tableCFs of the peer
with id=" + id, e);
}
}
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)