From 4cb5d15b609dd195df09381f4660a0e0dffebe27 Mon Sep 17 00:00:00 2001 From: stack Date: Tue, 23 Dec 2014 12:20:30 -0800 Subject: [PATCH] HBASE-12739 Avoid too large identifier of ZooKeeperWatcher (Liu Shaohui) --- .../org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java index af879d7e628..407d37b7be0 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java @@ -55,6 +55,7 @@ public class ZooKeeperWatcher implements Watcher, Abortable, Closeable { // Identifier for this watcher (for logging only). It is made of the prefix // passed on construction and the zookeeper sessionid. + private String prefix; private String identifier; // zookeeper quorum @@ -156,9 +157,10 @@ public class ZooKeeperWatcher implements Watcher, Abortable, Closeable { this.constructorCaller = e; } this.quorum = ZKConfig.getZKQuorumServersString(conf); + this.prefix = identifier; // Identifier will get the sessionid appended later below down when we // handle the syncconnect event. - this.identifier = identifier; + this.identifier = identifier + "0x0"; this.abortable = abortable; setNodeNames(conf); this.recoverableZooKeeper = ZKUtil.connect(conf, quorum, this, identifier); @@ -389,7 +391,7 @@ public class ZooKeeperWatcher implements Watcher, Abortable, Closeable { this.constructorCaller); throw new NullPointerException("ZK is null"); } - this.identifier = this.identifier + "-0x" + + this.identifier = this.prefix + "-0x" + Long.toHexString(this.recoverableZooKeeper.getSessionId()); // Update our identifier. Otherwise ignore. LOG.debug(this.identifier + " connected");