mokai created HBASE-25700:
-----------------------------
Summary: Enhance znode parent validation when add_peer
Key: HBASE-25700
URL: https://issues.apache.org/jira/browse/HBASE-25700
Project: HBase
Issue Type: Bug
Components: Replication
Affects Versions: 2.4.2, 2.2.3
Reporter: mokai
If the znode parent end with empty string, add_peer command has no validation.
It should be enhanced.
Command example: add_peer '1', CLUSTER_KEY => "10.244.225.186:2181:/hbase ",
STATE => "ENABLED"
It causes enable_table_replication execute failed with folloing error.
{quote}2021-03-27 09:59:47,738 DEBUG
[ReadOnlyZKClient-10.244.225.186:2181@0x5817f1ca-SendThread(10.244.225.186:2181)]
zookeeper.ClientCnxn: Reading reply sessionid:0x106fe808733000a, packet::
clientPath:/hbase /hbaseid serverPath:/hbase /hbaseid finished:false header::
1,4 replyHeader:: 1,44,-101 request:: '/hbase /hbaseid,F
response::2021-03-27 09:59:47,738 DEBUG
[ReadOnlyZKClient-10.244.225.186:2181@0x5817f1ca-SendThread(10.244.225.186:2181)]
zookeeper.ClientCnxn: Reading reply sessionid:0x106fe808733000a, packet::
clientPath:/hbase /hbaseid serverPath:/hbase /hbaseid finished:false header::
1,4 replyHeader:: 1,44,-101 request:: '/hbase /hbaseid,F
response::2021-03-27 09:59:47,755 WARN [main] client.ConnectionImplementation:
Retrieve cluster id failedjava.util.concurrent.ExecutionException:
org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode
for /hbase /hbaseid at
java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357) at
java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1908) at
org.apache.hadoop.hbase.client.ConnectionImplementation.retrieveClusterId(ConnectionImplementation.java:603)
at
org.apache.hadoop.hbase.client.ConnectionImplementation.<init>(ConnectionImplementation.java:313)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at
org.apache.hadoop.hbase.client.ConnectionFactory.lambda$createConnection$0(ConnectionFactory.java:230)
at java.security.AccessController.doPrivileged(Native Method) at
javax.security.auth.Subject.doAs(Subject.java:422)
{quote}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)