You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ga...@apache.org on 2013/02/06 21:14:25 UTC

svn commit: r1443181 - /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java

Author: garyh
Date: Wed Feb  6 20:14:25 2013
New Revision: 1443181

URL: http://svn.apache.org/viewvc?rev=1443181&view=rev
Log:
HBASE-7772 Cluster ID is not initialized correctly in RPC client

Modified:
    hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java

Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java?rev=1443181&r1=1443180&r2=1443181&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java Wed Feb  6 20:14:25 2013
@@ -600,7 +600,6 @@ public class HConnectionManager {
           HConstants.HBASE_CLIENT_PREFETCH_LIMIT,
           HConstants.DEFAULT_HBASE_CLIENT_PREFETCH_LIMIT);
 
-      this.rpcEngine = HBaseRPC.getProtocolEngine(conf);
       this.master = null;
       this.resetting = false;
     }
@@ -613,6 +612,9 @@ public class HConnectionManager {
       }
       if (clusterId == null) {
         clusterId = new ClusterId(zooKeeper, this);
+        if (clusterId.hasId()) {
+          conf.set(HConstants.CLUSTER_ID, clusterId.getId());
+        }
       }
       if (masterAddressTracker == null) {
         masterAddressTracker = new MasterAddressTracker(zooKeeper, this);
@@ -622,6 +624,10 @@ public class HConnectionManager {
         rootRegionTracker = new RootRegionTracker(zooKeeper, this);
         rootRegionTracker.start();
       }
+      // RpcEngine needs access to zookeeper data, like cluster ID
+      if (rpcEngine == null) {
+        this.rpcEngine = HBaseRPC.getProtocolEngine(conf);
+      }
     }
 
     private synchronized void resetZooKeeperTrackers() {
@@ -700,9 +706,6 @@ public class HConnectionManager {
               throw new MasterNotRunningException();
             }
 
-            if (clusterId.hasId()) {
-              conf.set(HConstants.CLUSTER_ID, clusterId.getId());
-            }
             InetSocketAddress isa =
               new InetSocketAddress(sn.getHostname(), sn.getPort());
             HMasterInterface tryMaster = rpcEngine.getProxy(
@@ -1325,9 +1328,6 @@ public class HConnectionManager {
           server = this.servers.get(rsName);
           if (server == null) {
             try {
-              if (clusterId.hasId()) {
-                conf.set(HConstants.CLUSTER_ID, clusterId.getId());
-              }
               // Only create isa when we need to.
               InetSocketAddress address = isa != null? isa:
                 new InetSocketAddress(hostname, port);