Author: mahadev
Date: Fri Feb 27 19:00:08 2009
New Revision: 748642

URL: http://svn.apache.org/viewvc?rev=748642&view=rev
Log:
ZOOKEEPER-330. zookeeper standalone server does not startup with just a port 
and datadir. (chris darroch and mahadev)

Modified:
    hadoop/zookeeper/trunk/CHANGES.txt
    
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/ServerConfig.java
    
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/ZooKeeperServer.java
    
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/ZooKeeperServerMain.java
    
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java

Modified: hadoop/zookeeper/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/CHANGES.txt?rev=748642&r1=748641&r2=748642&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/CHANGES.txt (original)
+++ hadoop/zookeeper/trunk/CHANGES.txt Fri Feb 27 19:00:08 2009
@@ -8,6 +8,9 @@
 
 BUGFIXES: 
   ZOOKEEPER-303. Bin scripts dont work on a Mac. (tom white via mahadev)
+  
+  ZOOKEEPER-330. zookeeper standalone server does not startup with just a port
+and datadir. (chris darroch and mahadev)
  
 IMPROVEMENTS:
   ZOOKEEPER-308. improve the atomic broadcast performance 3x. (breed via

Modified: 
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/ServerConfig.java
URL: 
http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/ServerConfig.java?rev=748642&r1=748641&r2=748642&view=diff
==============================================================================
--- 
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/ServerConfig.java
 (original)
+++ 
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/ServerConfig.java
 Fri Feb 27 19:00:08 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/trunk/src/java/main/org/apache/zookeeper/server/ZooKeeperServer.java
URL: 
http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/ZooKeeperServer.java?rev=748642&r1=748641&r2=748642&view=diff
==============================================================================
--- 
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/ZooKeeperServer.java
 (original)
+++ 
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/ZooKeeperServer.java
 Fri Feb 27 19:00:08 2009
@@ -93,7 +93,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/trunk/src/java/main/org/apache/zookeeper/server/ZooKeeperServerMain.java
URL: 
http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/ZooKeeperServerMain.java?rev=748642&r1=748641&r2=748642&view=diff
==============================================================================
--- 
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/ZooKeeperServerMain.java
 (original)
+++ 
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/ZooKeeperServerMain.java
 Fri Feb 27 19:00:08 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/trunk/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java
URL: 
http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java?rev=748642&r1=748641&r2=748642&view=diff
==============================================================================
--- 
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java
 (original)
+++ 
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java
 Fri Feb 27 19:00:08 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;


Reply via email to