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