You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by vi...@apache.org on 2011/11/01 19:26:03 UTC
svn commit: r1196189 - in
/incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server:
client/HdfsZooInstance.java master/LiveTServerSet.java zookeeper/ZooLock.java
Author: vines
Date: Tue Nov 1 18:26:02 2011
New Revision: 1196189
URL: http://svn.apache.org/viewvc?rev=1196189&view=rev
Log:
fixes accumulo-11
Modified:
incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/client/HdfsZooInstance.java
incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java
incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/zookeeper/ZooLock.java
Modified: incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/client/HdfsZooInstance.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/client/HdfsZooInstance.java?rev=1196189&r1=1196188&r2=1196189&view=diff
==============================================================================
--- incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/client/HdfsZooInstance.java (original)
+++ incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/client/HdfsZooInstance.java Tue Nov 1 18:26:02 2011
@@ -99,7 +99,7 @@ public class HdfsZooInstance implements
OpTimer opTimer = new OpTimer(log, Level.TRACE).start("Looking up master location in zoocache.");
- byte[] loc = ZooLock.getLockData(zooCache, masterLocPath);
+ byte[] loc = ZooLock.getLockData(zooCache, masterLocPath, null);
opTimer.stop("Found master at " + (loc == null ? null : new String(loc)) + " in %DURATION%");
Modified: incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java?rev=1196189&r1=1196188&r2=1196189&view=diff
==============================================================================
--- incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java (original)
+++ incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java Tue Nov 1 18:26:02 2011
@@ -52,6 +52,7 @@ import org.apache.thrift.TException;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
+import org.apache.zookeeper.data.Stat;
public class LiveTServerSet implements Watcher {
@@ -225,14 +226,15 @@ public class LiveTServerSet implements W
// Nope... there's a server out there: is this is a new server?
if (info == null) {
// Yep: hold onto the information about this server
- byte[] lockData = ZooLock.getLockData(lockPath);
+ Stat stat = new Stat();
+ byte[] lockData = ZooLock.getLockData(lockPath, stat);
String lockString = new String(lockData == null ? new byte[] {} : lockData);
if (lockString.length() > 0 && !lockString.equals("master")) {
ServerServices services = new ServerServices(new String(lockData));
InetSocketAddress client = services.getAddress(ServerServices.Service.TSERV_CLIENT);
InetSocketAddress addr = AddressUtil.parseAddress(server, Property.TSERV_CLIENTPORT);
TServerConnection conn = new TServerConnection(addr);
- instance = new TServerInstance(client, lock.getSessionId());
+ instance = new TServerInstance(client, stat.getEphemeralOwner());
info = new TServerInfo(lock, instance, conn, watcher);
current.put(server, info);
updates.add(instance);
Modified: incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/zookeeper/ZooLock.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/zookeeper/ZooLock.java?rev=1196189&r1=1196188&r2=1196189&view=diff
==============================================================================
--- incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/zookeeper/ZooLock.java (original)
+++ incubator/accumulo/trunk/src/server/src/main/java/org/apache/accumulo/server/zookeeper/ZooLock.java Tue Nov 1 18:26:02 2011
@@ -352,7 +352,7 @@ public class ZooLock implements Watcher
return zk.getData(path + "/" + lockNode, false, null);
}
- public static byte[] getLockData(org.apache.accumulo.core.zookeeper.ZooCache zc, String path) {
+ public static byte[] getLockData(org.apache.accumulo.core.zookeeper.ZooCache zc, String path, Stat stat) {
List<String> children = zc.getChildren(path);
@@ -369,13 +369,17 @@ public class ZooLock implements Watcher
throw new RuntimeException("Node " + lockNode + " at " + path + " is not a lock node");
}
- return zc.get(path + "/" + lockNode);
+ return zc.get(path + "/" + lockNode, stat);
}
private static ZooCache getLockDataZooCache = new ZooCache();
public static byte[] getLockData(String path) {
- return getLockData(getLockDataZooCache, path);
+ return getLockData(path, null);
+ }
+
+ public static byte[] getLockData(String path, Stat stat) {
+ return getLockData(getLockDataZooCache, path, stat);
}
public static long getSessionId(ZooCache zc, String path) throws KeeperException, InterruptedException {