You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@curator.apache.org by ra...@apache.org on 2014/05/28 19:33:54 UTC

[4/8] git commit: configuration continues

configuration continues


Project: http://git-wip-us.apache.org/repos/asf/curator/repo
Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/1d550403
Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/1d550403
Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/1d550403

Branch: refs/heads/curator-rpc
Commit: 1d550403b759901d782ec98b4e25daf850d2f672
Parents: 8fd1bc8
Author: randgalt <ra...@apache.org>
Authored: Wed May 28 08:34:22 2014 -0500
Committer: randgalt <ra...@apache.org>
Committed: Wed May 28 08:34:22 2014 -0500

----------------------------------------------------------------------
 .../org/apache/curator/x/rpc/Configuration.java | 37 ------------
 .../curator/x/rpc/CuratorProjectionServer.java  |  1 +
 .../x/rpc/configuration/Configuration.java      | 53 +++++++++++++++++
 .../configuration/ConnectionConfiguration.java  | 61 ++++++++++++++++++++
 .../ExponentialBackoffRetryConfiguration.java   | 44 ++++++++++++++
 .../curator/x/rpc/configuration/RetryType.java  |  6 ++
 6 files changed, 165 insertions(+), 37 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/curator/blob/1d550403/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/Configuration.java
----------------------------------------------------------------------
diff --git a/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/Configuration.java b/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/Configuration.java
deleted file mode 100644
index ea361b3..0000000
--- a/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/Configuration.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.apache.curator.x.rpc;
-
-import com.facebook.swift.service.ThriftServerConfig;
-import io.airlift.configuration.Config;
-import io.airlift.configuration.ConfigDescription;
-import io.airlift.units.Duration;
-import java.util.concurrent.TimeUnit;
-
-public class Configuration extends ThriftServerConfig
-{
-    private Duration projectionExpiration = new Duration(3, TimeUnit.MINUTES);
-    private Duration pingTime = new Duration(5, TimeUnit.SECONDS);
-
-    public Duration getProjectionExpiration()
-    {
-        return projectionExpiration;
-    }
-
-    @Config("curator.projection-expiration")
-    @ConfigDescription("Curator projection instances will be expired after this amount of inactivity - default is 3 minutes")
-    public void setProjectionExpiration(Duration projectionExpiration)
-    {
-        this.projectionExpiration = projectionExpiration;
-    }
-
-    public Duration getPingTime()
-    {
-        return pingTime;
-    }
-
-    @Config("curator.ping-time")
-    @ConfigDescription("Calls to getNextEvent() will return PING after this duration - default is 5 seconds")
-    public void setPingTime(Duration pingTime)
-    {
-        this.pingTime = pingTime;
-    }
-}

http://git-wip-us.apache.org/repos/asf/curator/blob/1d550403/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/CuratorProjectionServer.java
----------------------------------------------------------------------
diff --git a/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/CuratorProjectionServer.java b/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/CuratorProjectionServer.java
index 6083339..bf92cde 100644
--- a/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/CuratorProjectionServer.java
+++ b/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/CuratorProjectionServer.java
@@ -32,6 +32,7 @@ import io.airlift.log.Logging;
 import io.airlift.log.LoggingConfiguration;
 import io.airlift.units.DataSize;
 import io.airlift.units.Duration;
+import org.apache.curator.x.rpc.configuration.Configuration;
 import org.apache.curator.x.rpc.idl.event.EventService;
 import org.apache.curator.x.rpc.idl.projection.CuratorProjectionService;
 import org.slf4j.Logger;

http://git-wip-us.apache.org/repos/asf/curator/blob/1d550403/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/configuration/Configuration.java
----------------------------------------------------------------------
diff --git a/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/configuration/Configuration.java b/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/configuration/Configuration.java
new file mode 100644
index 0000000..799ab9b
--- /dev/null
+++ b/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/configuration/Configuration.java
@@ -0,0 +1,53 @@
+package org.apache.curator.x.rpc.configuration;
+
+import com.facebook.swift.service.ThriftServerConfig;
+import com.google.common.base.Splitter;
+import com.google.common.collect.ImmutableList;
+import io.airlift.configuration.Config;
+import io.airlift.configuration.ConfigDescription;
+import io.airlift.units.Duration;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
+public class Configuration extends ThriftServerConfig
+{
+    private Duration projectionExpiration = new Duration(3, TimeUnit.MINUTES);
+    private Duration pingTime = new Duration(5, TimeUnit.SECONDS);
+    private List<String> connectionNames = ImmutableList.of();
+
+    public Duration getProjectionExpiration()
+    {
+        return projectionExpiration;
+    }
+
+    @Config("curator.projection-expiration")
+    @ConfigDescription("Curator projection instances will be expired after this amount of inactivity - default is 3 minutes")
+    public void setProjectionExpiration(Duration projectionExpiration)
+    {
+        this.projectionExpiration = projectionExpiration;
+    }
+
+    public Duration getPingTime()
+    {
+        return pingTime;
+    }
+
+    @Config("curator.ping-time")
+    @ConfigDescription("Calls to getNextEvent() will return PING after this duration - default is 5 seconds")
+    public void setPingTime(Duration pingTime)
+    {
+        this.pingTime = pingTime;
+    }
+
+    public List<String> getConnectionNames()
+    {
+        return connectionNames;
+    }
+
+    @Config("curator.connection.names")
+    public void setConnectionNames(String connectionNames)
+    {
+        this.connectionNames = Splitter.on(",").trimResults().splitToList(connectionNames);
+    }
+}

http://git-wip-us.apache.org/repos/asf/curator/blob/1d550403/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/configuration/ConnectionConfiguration.java
----------------------------------------------------------------------
diff --git a/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/configuration/ConnectionConfiguration.java b/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/configuration/ConnectionConfiguration.java
new file mode 100644
index 0000000..8209c6a
--- /dev/null
+++ b/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/configuration/ConnectionConfiguration.java
@@ -0,0 +1,61 @@
+package org.apache.curator.x.rpc.configuration;
+
+import io.airlift.configuration.Config;
+import io.airlift.configuration.ConfigDescription;
+import io.airlift.units.Duration;
+import java.util.concurrent.TimeUnit;
+
+public class ConnectionConfiguration
+{
+    private String connectionString = "localhost:2181";
+    private Duration sessionLength = new Duration(1, TimeUnit.MINUTES);
+    private Duration connectionTimeout = new Duration(15, TimeUnit.SECONDS);
+    private RetryType retryType;
+
+    public String getConnectionString()
+    {
+        return connectionString;
+    }
+
+    @Config("curator.connection.$CONNECTION-NAME$.connection-string")
+    @ConfigDescription("Default ZooKeeper connection string. E.g. \"foo.com:2181,bar.com:2181\"")
+    public void setConnectionString(String connectionString)
+    {
+        this.connectionString = connectionString;
+    }
+
+    public Duration getSessionLength()
+    {
+        return sessionLength;
+    }
+
+    @Config("curator.connection.$CONNECTION-NAME$.session-length")
+    @ConfigDescription("Session length. Default is 1 minute")
+    public void setSessionLength(Duration sessionLength)
+    {
+        this.sessionLength = sessionLength;
+    }
+
+    public Duration getConnectionTimeout()
+    {
+        return connectionTimeout;
+    }
+
+    @Config("curator.connection.$CONNECTION-NAME$.connection-timeout")
+    @ConfigDescription("Connection timeout. Default is 15 seconds")
+    public void setConnectionTimeout(Duration connectionTimeout)
+    {
+        this.connectionTimeout = connectionTimeout;
+    }
+
+    public RetryType getRetryType()
+    {
+        return retryType;
+    }
+
+    @Config("curator.connection.$CONNECTION-NAME$.retry.type")
+    public void setRetryType(RetryType retryType)
+    {
+        this.retryType = retryType;
+    }
+}

http://git-wip-us.apache.org/repos/asf/curator/blob/1d550403/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/configuration/ExponentialBackoffRetryConfiguration.java
----------------------------------------------------------------------
diff --git a/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/configuration/ExponentialBackoffRetryConfiguration.java b/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/configuration/ExponentialBackoffRetryConfiguration.java
new file mode 100644
index 0000000..41b8db8
--- /dev/null
+++ b/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/configuration/ExponentialBackoffRetryConfiguration.java
@@ -0,0 +1,44 @@
+package org.apache.curator.x.rpc.configuration;
+
+import io.airlift.configuration.Config;
+import io.airlift.units.Duration;
+
+public class ExponentialBackoffRetryConfiguration
+{
+    private Duration baseSleepTime;
+    private int maxRetries;
+    private Duration maxSleep;
+
+    public Duration getBaseSleepTime()
+    {
+        return baseSleepTime;
+    }
+
+    @Config("curator.retry.exponential.base-sleep-time")
+    public void setBaseSleepTime(Duration baseSleepTime)
+    {
+        this.baseSleepTime = baseSleepTime;
+    }
+
+    public int getMaxRetries()
+    {
+        return maxRetries;
+    }
+
+    @Config("curator.retry.exponential.max-retries")
+    public void setMaxRetries(int maxRetries)
+    {
+        this.maxRetries = maxRetries;
+    }
+
+    public Duration getMaxSleep()
+    {
+        return maxSleep;
+    }
+
+    @Config("curator.retry.exponential.max-sleep")
+    public void setMaxSleep(Duration maxSleep)
+    {
+        this.maxSleep = maxSleep;
+    }
+}

http://git-wip-us.apache.org/repos/asf/curator/blob/1d550403/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/configuration/RetryType.java
----------------------------------------------------------------------
diff --git a/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/configuration/RetryType.java b/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/configuration/RetryType.java
new file mode 100644
index 0000000..7e4761a
--- /dev/null
+++ b/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/configuration/RetryType.java
@@ -0,0 +1,6 @@
+package org.apache.curator.x.rpc.configuration;
+
+public enum RetryType
+{
+    ExponentialBackoffRetry,
+}