Author: mahadev
Date: Fri Feb 27 19:04:01 2009
New Revision: 748644
URL: http://svn.apache.org/viewvc?rev=748644&view=rev
Log:
ZOOKEEPER-330. zookeeper standalone server does not startup with just a port and datadir.
(chris darroch and mahadev)
Modified:
hadoop/zookeeper/branches/branch-3.1/CHANGES.txt
hadoop/zookeeper/branches/branch-3.1/src/java/main/org/apache/zookeeper/server/ServerConfig.java
hadoop/zookeeper/branches/branch-3.1/src/java/main/org/apache/zookeeper/server/ZooKeeperServer.java
hadoop/zookeeper/branches/branch-3.1/src/java/main/org/apache/zookeeper/server/ZooKeeperServerMain.java
hadoop/zookeeper/branches/branch-3.1/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java
Modified: hadoop/zookeeper/branches/branch-3.1/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/branches/branch-3.1/CHANGES.txt?rev=748644&r1=748643&r2=748644&view=diff
==============================================================================
--- hadoop/zookeeper/branches/branch-3.1/CHANGES.txt (original)
+++ hadoop/zookeeper/branches/branch-3.1/CHANGES.txt Fri Feb 27 19:04:01 2009
@@ -11,6 +11,9 @@
ZOOKEEPER-326. standalone server ignores tickTime configuration (chris
darroch via mahadev)
+ ZOOKEEPER-330. zookeeper standalone server does not startup with just a port
+and datadir. (chris darroch and mahadev)
+
IMPROVEMENTS:
NEW FEATURES:
Modified: hadoop/zookeeper/branches/branch-3.1/src/java/main/org/apache/zookeeper/server/ServerConfig.java
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/branches/branch-3.1/src/java/main/org/apache/zookeeper/server/ServerConfig.java?rev=748644&r1=748643&r2=748644&view=diff
==============================================================================
--- hadoop/zookeeper/branches/branch-3.1/src/java/main/org/apache/zookeeper/server/ServerConfig.java
(original)
+++ hadoop/zookeeper/branches/branch-3.1/src/java/main/org/apache/zookeeper/server/ServerConfig.java
Fri Feb 27 19:04:01 2009
@@ -22,12 +22,15 @@
private int clientPort;
private String dataDir;
private String dataLogDir;
+ private int tickTime;
- protected ServerConfig(int port, String dataDir,String dataLogDir) {
+ protected ServerConfig(int port, String dataDir,String dataLogDir, int tickTime) {
this.clientPort = port;
this.dataDir = dataDir;
this.dataLogDir=dataLogDir;
+ this.tickTime = tickTime;
}
+
protected boolean isStandaloneServer(){
return true;
}
@@ -49,16 +52,27 @@
return instance.isStandaloneServer();
}
+ public static int getTickTime() {
+ assert instance != null;
+ return instance.tickTime;
+ }
+
protected static ServerConfig instance=null;
public static void parse(String[] args) throws Exception {
if(instance!=null)
return;
- if (args.length != 2) {
+ if (args.length < 2) {
throw new IllegalArgumentException("Invalid usage.");
}
+ int tickTime = ZooKeeperServer.DEFAULT_TICK_TIME;
+ if (args.length > 2) {
+ // the last parameter ticktime is optional
+ tickTime = Integer.parseInt(args[2]);
+ }
try {
- instance=new ServerConfig(Integer.parseInt(args[0]),args[1],args[1]);
+ instance=new ServerConfig(Integer.parseInt(args[0]),args[1],
+ args[1], tickTime);
} catch (NumberFormatException e) {
throw new IllegalArgumentException(args[0] + " is not a valid port number");
}
Modified: hadoop/zookeeper/branches/branch-3.1/src/java/main/org/apache/zookeeper/server/ZooKeeperServer.java
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/branches/branch-3.1/src/java/main/org/apache/zookeeper/server/ZooKeeperServer.java?rev=748644&r1=748643&r2=748644&view=diff
==============================================================================
--- hadoop/zookeeper/branches/branch-3.1/src/java/main/org/apache/zookeeper/server/ZooKeeperServer.java
(original)
+++ hadoop/zookeeper/branches/branch-3.1/src/java/main/org/apache/zookeeper/server/ZooKeeperServer.java
Fri Feb 27 19:04:01 2009
@@ -92,7 +92,7 @@
}
}
- private static final int DEFAULT_TICK_TIME = 3000;
+ public static final int DEFAULT_TICK_TIME = 3000;
protected int tickTime = DEFAULT_TICK_TIME;
public static final int commitLogCount = 500;
Modified: hadoop/zookeeper/branches/branch-3.1/src/java/main/org/apache/zookeeper/server/ZooKeeperServerMain.java
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/branches/branch-3.1/src/java/main/org/apache/zookeeper/server/ZooKeeperServerMain.java?rev=748644&r1=748643&r2=748644&view=diff
==============================================================================
--- hadoop/zookeeper/branches/branch-3.1/src/java/main/org/apache/zookeeper/server/ZooKeeperServerMain.java
(original)
+++ hadoop/zookeeper/branches/branch-3.1/src/java/main/org/apache/zookeeper/server/ZooKeeperServerMain.java
Fri Feb 27 19:04:01 2009
@@ -34,7 +34,7 @@
public class ZooKeeperServerMain {
private static final Logger LOG = Logger.getLogger(ZooKeeperServerMain.class);
- private static final String USAGE = "Usage: ZooKeeperServerMain port datadir";
+ private static final String USAGE = "Usage: ZooKeeperServerMain configfile | port datadir
[ticktime]";
/*
* Start up the ZooKeeper server.
*
@@ -48,7 +48,11 @@
}
try {
- QuorumPeerConfig.parse(args);
+ if (args.length == 1) {
+ QuorumPeerConfig.parse(args);
+ } else {
+ ServerConfig.parse(args);
+ }
} catch(Exception e) {
LOG.fatal("Error in config", e);
LOG.info(USAGE);
@@ -67,7 +71,7 @@
File(ServerConfig.getDataLogDir()),
new File(ServerConfig.getDataDir()));
zks.setTxnLogFactory(ftxn);
- zks.setTickTime(QuorumPeerConfig.getTickTime());
+ zks.setTickTime(ServerConfig.getTickTime());
return zks;
}
});
Modified: hadoop/zookeeper/branches/branch-3.1/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/branches/branch-3.1/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java?rev=748644&r1=748643&r2=748644&view=diff
==============================================================================
--- hadoop/zookeeper/branches/branch-3.1/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java
(original)
+++ hadoop/zookeeper/branches/branch-3.1/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java
Fri Feb 27 19:04:01 2009
@@ -30,6 +30,7 @@
import org.apache.log4j.Logger;
import org.apache.zookeeper.server.ServerConfig;
+import org.apache.zookeeper.server.ZooKeeperServer;
import org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer;
public class QuorumPeerConfig extends ServerConfig {
@@ -43,8 +44,8 @@
private HashMap<Long,QuorumServer> servers = null;
private long serverId;
- private QuorumPeerConfig(int port, String dataDir, String dataLogDir) {
- super(port, dataDir, dataLogDir);
+ private QuorumPeerConfig(int port, String dataDir, String dataLogDir, int tickTime) {
+ super(port, dataDir, dataLogDir, tickTime);
}
public static void parse(String[] args) throws Exception {
@@ -137,8 +138,7 @@
throw new IllegalArgumentException("syncLimit is not set");
}
QuorumPeerConfig conf = new QuorumPeerConfig(clientPort, dataDir,
- dataLogDir);
- conf.tickTime = tickTime;
+ dataLogDir, tickTime);
conf.initLimit = initLimit;
conf.syncLimit = syncLimit;
conf.electionAlg = electionAlg;
|