You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by en...@apache.org on 2014/09/10 03:35:51 UTC

git commit: HBASE-11923 Potential race condition in RecoverableZookeeper.checkZk() (Lars Hofhansl)

Repository: hbase
Updated Branches:
  refs/heads/master a20c23767 -> 686b860f3


HBASE-11923 Potential race condition in RecoverableZookeeper.checkZk() (Lars Hofhansl)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/686b860f
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/686b860f
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/686b860f

Branch: refs/heads/master
Commit: 686b860f351f23978ef8783e504066bde4bee2ff
Parents: a20c237
Author: Enis Soztutar <en...@apache.org>
Authored: Tue Sep 9 18:35:53 2014 -0700
Committer: Enis Soztutar <en...@apache.org>
Committed: Tue Sep 9 18:35:53 2014 -0700

----------------------------------------------------------------------
 .../apache/hadoop/hbase/zookeeper/RecoverableZooKeeper.java    | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/686b860f/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/RecoverableZooKeeper.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/RecoverableZooKeeper.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/RecoverableZooKeeper.java
index 0614bfe..ca35971 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/RecoverableZooKeeper.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/RecoverableZooKeeper.java
@@ -75,7 +75,7 @@ import org.htrace.TraceScope;
 public class RecoverableZooKeeper {
   private static final Log LOG = LogFactory.getLog(RecoverableZooKeeper.class);
   // the actual ZooKeeper client instance
-  volatile private ZooKeeper zk;
+  private ZooKeeper zk;
   private final RetryCounterFactory retryCounterFactory;
   // An identifier of this process in the cluster
   private final String identifier;
@@ -134,7 +134,7 @@ public class RecoverableZooKeeper {
    * @return The created Zookeeper connection object
    * @throws KeeperException
    */
-  protected ZooKeeper checkZk() throws KeeperException {
+  protected synchronized ZooKeeper checkZk() throws KeeperException {
     if (this.zk == null) {
       try {
         this.zk = new ZooKeeper(quorumServers, sessionTimeout, watcher);
@@ -146,7 +146,7 @@ public class RecoverableZooKeeper {
     return zk;
   }
 
-  public void reconnectAfterExpiration()
+  public synchronized void reconnectAfterExpiration()
         throws IOException, KeeperException, InterruptedException {
     if (zk != null) {
       LOG.info("Closing dead ZooKeeper connection, session" +