You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ns...@apache.org on 2011/10/26 00:03:40 UTC

svn commit: r1188944 - /hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/SplitLogWorker.java

Author: nspiegelberg
Date: Tue Oct 25 22:03:40 2011
New Revision: 1188944

URL: http://svn.apache.org/viewvc?rev=1188944&view=rev
Log:
always create /hbase/splitlog zknode

**** 89 MASTER ONLY ****

Summary: as in title
Test Plan: dist log splitting unit tests pass
Reviewers: kannan, mbautin, liyintang
Reviewed By: kannan
CC: hbase-eng@lists, kannan, pkhemani
Differential Revision: 346877

Modified:
    hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/SplitLogWorker.java

Modified: hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/SplitLogWorker.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/SplitLogWorker.java?rev=1188944&r1=1188943&r2=1188944&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/SplitLogWorker.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/SplitLogWorker.java Tue Oct 25 22:03:40 2011
@@ -43,6 +43,7 @@ import org.apache.hadoop.hbase.zookeeper
 import org.apache.hadoop.hbase.zookeeper.ZooKeeperWrapper;
 import org.apache.hadoop.util.StringUtils;
 import org.apache.zookeeper.AsyncCallback;
+import org.apache.zookeeper.CreateMode;
 import org.apache.zookeeper.KeeperException;
 import org.apache.zookeeper.WatchedEvent;
 import org.apache.zookeeper.Watcher;
@@ -153,9 +154,12 @@ public class SplitLogWorker implements R
   public void run() {
     try {
       LOG.info("SplitLogWorker starting");
+      this.watcher.createZNodeIfNotExists(this.watcher.splitLogZNode, new byte[0],
+          CreateMode.PERSISTENT, false /* set watch? */);
       this.watcher.registerListener(this);
       int res;
-      // wait for master to create the splitLogZnode
+      // the above creation might have failed. Don't proceed until someone
+      // creates the /hbase/splitlog zknode.
       res = -1;
       while (res == -1 && !exitWorker) {
         try {
@@ -168,7 +172,7 @@ public class SplitLogWorker implements R
         if (res == -1) {
           try {
             LOG.info(watcher.splitLogZNode + " znode does not exist," +
-            " waiting for master to create one");
+            " waiting for someone to create one");
             Thread.sleep(1000);
           } catch (InterruptedException e) {
             LOG.debug("Interrupted while waiting for " + watcher.splitLogZNode