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); } }
