Repository: incubator-ratis
Updated Branches:
  refs/heads/master c97136fc1 -> 99e409b66


RATIS-154. Add setter functions for Raft Config keys.  Contributed by 
Shashikant Banerjee


Project: http://git-wip-us.apache.org/repos/asf/incubator-ratis/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ratis/commit/99e409b6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ratis/tree/99e409b6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ratis/diff/99e409b6

Branch: refs/heads/master
Commit: 99e409b66bb28d1a93a1382014e70bd5e2d6af0e
Parents: c97136f
Author: Tsz-Wo Nicholas Sze <[email protected]>
Authored: Mon Dec 18 10:08:56 2017 +0800
Committer: Tsz-Wo Nicholas Sze <[email protected]>
Committed: Mon Dec 18 10:08:56 2017 +0800

----------------------------------------------------------------------
 .../java/org/apache/ratis/conf/ConfUtils.java   |  7 +++++
 .../org/apache/ratis/grpc/GrpcConfigKeys.java   | 16 ++++++++++-
 .../ratis/server/RaftServerConfigKeys.java      | 29 +++++++++++++++++---
 3 files changed, 47 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/99e409b6/ratis-common/src/main/java/org/apache/ratis/conf/ConfUtils.java
----------------------------------------------------------------------
diff --git a/ratis-common/src/main/java/org/apache/ratis/conf/ConfUtils.java 
b/ratis-common/src/main/java/org/apache/ratis/conf/ConfUtils.java
index 74f4f07..cfef928 100644
--- a/ratis-common/src/main/java/org/apache/ratis/conf/ConfUtils.java
+++ b/ratis-common/src/main/java/org/apache/ratis/conf/ConfUtils.java
@@ -201,6 +201,13 @@ public interface ConfUtils {
   }
 
   @SafeVarargs
+  static void setTimeDuration(
+      BiConsumer<String, TimeDuration> timeDurationSetter, String key, 
TimeDuration value,
+      BiConsumer<String, TimeDuration>... assertions) {
+    set(timeDurationSetter, key, value, assertions);
+  }
+
+  @SafeVarargs
   static <T> void set(
       BiConsumer<String, T> setter, String key, T value,
       BiConsumer<String, T>... assertions) {

http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/99e409b6/ratis-grpc/src/main/java/org/apache/ratis/grpc/GrpcConfigKeys.java
----------------------------------------------------------------------
diff --git a/ratis-grpc/src/main/java/org/apache/ratis/grpc/GrpcConfigKeys.java 
b/ratis-grpc/src/main/java/org/apache/ratis/grpc/GrpcConfigKeys.java
index d3276dc..7be7e8f 100644
--- a/ratis-grpc/src/main/java/org/apache/ratis/grpc/GrpcConfigKeys.java
+++ b/ratis-grpc/src/main/java/org/apache/ratis/grpc/GrpcConfigKeys.java
@@ -46,6 +46,9 @@ public interface GrpcConfigKeys {
       return getInt(properties::getInt,
           LEADER_OUTSTANDING_APPENDS_MAX_KEY, 
LEADER_OUTSTANDING_APPENDS_MAX_DEFAULT, requireMin(0));
     }
+    static void setLeaderOutstandingAppendsMax(RaftProperties properties, int 
maxAppend) {
+      setInt(properties::setInt, LEADER_OUTSTANDING_APPENDS_MAX_KEY, 
maxAppend);
+    }
   }
 
   interface OutputStream {
@@ -67,6 +70,9 @@ public interface GrpcConfigKeys {
       return getInt(properties::getInt,
           RETRY_TIMES_KEY, RETRY_TIMES_DEFAULT, requireMin(1));
     }
+    static void setRetryTimes(RaftProperties properties, int retryTimes) {
+      setInt(properties::setInt, RETRY_TIMES_KEY, retryTimes);
+    }
 
     String RETRY_INTERVAL_KEY = PREFIX + ".retry.interval";
     TimeDuration RETRY_INTERVAL_DEFAULT = 
RaftClientConfigKeys.Rpc.TIMEOUT_DEFAULT;
@@ -74,6 +80,9 @@ public interface GrpcConfigKeys {
       return 
getTimeDuration(properties.getTimeDuration(RETRY_INTERVAL_DEFAULT.getUnit()),
           RETRY_INTERVAL_KEY, RETRY_INTERVAL_DEFAULT);
     }
+    static void setRetryInterval(RaftProperties properties, TimeDuration 
retryInterval) {
+      setTimeDuration(properties::setTimeDuration, RETRY_INTERVAL_KEY, 
retryInterval);
+    }
 
     String OUTSTANDING_APPENDS_MAX_KEY = PREFIX + ".outstanding.appends.max";
     int OUTSTANDING_APPENDS_MAX_DEFAULT = 128;
@@ -81,6 +90,9 @@ public interface GrpcConfigKeys {
       return getInt(properties::getInt,
           OUTSTANDING_APPENDS_MAX_KEY, OUTSTANDING_APPENDS_MAX_DEFAULT, 
requireMin(0));
     }
+    static void setOutstandingAppendsMax(RaftProperties properties, int 
maxOutstandingAppends) {
+      setInt(properties::setInt, OUTSTANDING_APPENDS_MAX_KEY, 
maxOutstandingAppends);
+    }
   }
 
   String MESSAGE_SIZE_MAX_KEY = PREFIX + ".message.size.max";
@@ -89,7 +101,9 @@ public interface GrpcConfigKeys {
     return getSizeInBytes(properties::getSizeInBytes,
         MESSAGE_SIZE_MAX_KEY, MESSAGE_SIZE_MAX_DEFAULT);
   }
-
+  static void setMessageSizeMax(RaftProperties properties, SizeInBytes 
maxMessageSize) {
+    setSizeInBytes(properties::set, MESSAGE_SIZE_MAX_KEY, maxMessageSize);
+  }
   static void main(String[] args) {
     printAll(GrpcConfigKeys.class);
   }

http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/99e409b6/ratis-server/src/main/java/org/apache/ratis/server/RaftServerConfigKeys.java
----------------------------------------------------------------------
diff --git 
a/ratis-server/src/main/java/org/apache/ratis/server/RaftServerConfigKeys.java 
b/ratis-server/src/main/java/org/apache/ratis/server/RaftServerConfigKeys.java
index 2586dfc..cf40580 100644
--- 
a/ratis-server/src/main/java/org/apache/ratis/server/RaftServerConfigKeys.java
+++ 
b/ratis-server/src/main/java/org/apache/ratis/server/RaftServerConfigKeys.java
@@ -85,6 +85,9 @@ public interface RaftServerConfigKeys {
       return getInt(properties::getInt, SEGMENT_CACHE_MAX_NUM_KEY,
           SEGMENT_CACHE_MAX_NUM_DEFAULT, requireMin(0));
     }
+    static void setMaxCachedSegmentNum(RaftProperties properties, int 
maxCachedSegmentNum) {
+      setInt(properties::setInt, SEGMENT_CACHE_MAX_NUM_KEY, 
maxCachedSegmentNum);
+    }
 
     String PREALLOCATED_SIZE_KEY = PREFIX + ".preallocated.size";
     SizeInBytes PREALLOCATED_SIZE_DEFAULT = SizeInBytes.valueOf("4MB");
@@ -112,6 +115,9 @@ public interface RaftServerConfigKeys {
       return getInt(properties::getInt,
           FORCE_SYNC_NUM_KEY, FORCE_SYNC_NUM_DEFAULT, requireMin(0));
     }
+    static void setForceSyncNum(RaftProperties properties, int forceSyncNum) {
+      setInt(properties::setInt, FORCE_SYNC_NUM_KEY, forceSyncNum);
+    }
 
     interface Appender {
       String PREFIX = Log.PREFIX + ".appender";
@@ -141,6 +147,9 @@ public interface RaftServerConfigKeys {
         return getSizeInBytes(properties::getSizeInBytes,
             SNAPSHOT_CHUNK_SIZE_MAX_KEY, SNAPSHOT_CHUNK_SIZE_MAX_DEFAULT);
       }
+      static void setSnapshotChunkSizeMax(RaftProperties properties, 
SizeInBytes maxChunkSize) {
+        setSizeInBytes(properties::set, SNAPSHOT_CHUNK_SIZE_MAX_KEY, 
maxChunkSize);
+      }
     }
   }
 
@@ -181,6 +190,9 @@ public interface RaftServerConfigKeys {
       return 
getTimeDuration(properties.getTimeDuration(TIMEOUT_MIN_DEFAULT.getUnit()),
           TIMEOUT_MIN_KEY, TIMEOUT_MIN_DEFAULT);
     }
+    static void setTimeoutMin(RaftProperties properties, TimeDuration 
minDuration) {
+      setTimeDuration(properties::setTimeDuration, TIMEOUT_MIN_KEY, 
minDuration);
+    }
 
     String TIMEOUT_MAX_KEY = PREFIX + ".timeout.max";
     TimeDuration TIMEOUT_MAX_DEFAULT = TimeDuration.valueOf(300, 
TimeUnit.MILLISECONDS);
@@ -188,6 +200,9 @@ public interface RaftServerConfigKeys {
       return 
getTimeDuration(properties.getTimeDuration(TIMEOUT_MAX_DEFAULT.getUnit()),
           TIMEOUT_MAX_KEY, TIMEOUT_MAX_DEFAULT);
     }
+    static void setTimeoutMax(RaftProperties properties, TimeDuration 
maxDuration) {
+      setTimeDuration(properties::setTimeDuration, TIMEOUT_MAX_KEY, 
maxDuration);
+    }
 
     String SLEEP_TIME_KEY = PREFIX + ".sleep.time";
     TimeDuration SLEEP_TIME_DEFAULT = TimeDuration.valueOf(25, 
TimeUnit.MILLISECONDS);
@@ -195,6 +210,9 @@ public interface RaftServerConfigKeys {
       return 
getTimeDuration(properties.getTimeDuration(SLEEP_TIME_DEFAULT.getUnit()),
           SLEEP_TIME_KEY, SLEEP_TIME_DEFAULT);
     }
+    static void setSleepTime(RaftProperties properties, TimeDuration 
sleepTime) {
+      setTimeDuration(properties::setTimeDuration, SLEEP_TIME_KEY, sleepTime);
+    }
   }
 
   /** server retry cache related */
@@ -208,11 +226,14 @@ public interface RaftServerConfigKeys {
           ConfUtils.requireMin(0));
     }
 
-    String EXPIRYTIME_KEY = PREFIX + ".expirytime";
-    TimeDuration EXPIRYTIME_DEFAULT = TimeDuration.valueOf(60, 
TimeUnit.SECONDS);
+    String EXPIRY_TIME_KEY = PREFIX + ".expirytime";
+    TimeDuration EXPIRY_TIME_DEFAULT = TimeDuration.valueOf(60, 
TimeUnit.SECONDS);
     static TimeDuration expiryTime(RaftProperties properties) {
-      return 
getTimeDuration(properties.getTimeDuration(EXPIRYTIME_DEFAULT.getUnit()),
-          EXPIRYTIME_KEY, EXPIRYTIME_DEFAULT);
+      return 
getTimeDuration(properties.getTimeDuration(EXPIRY_TIME_DEFAULT.getUnit()),
+          EXPIRY_TIME_KEY, EXPIRY_TIME_DEFAULT);
+    }
+    static void setExpiryTime(RaftProperties properties, TimeDuration 
expiryTime) {
+      setTimeDuration(properties::setTimeDuration, EXPIRY_TIME_KEY, 
expiryTime);
     }
   }
 

Reply via email to