X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fraft%2FDefaultConfigParamsImpl.java;h=56fb63367207b94ad368214a569e2009f8c5648f;hb=aafb8cb044e992dd784d1f4f66508599cc4cd588;hp=c64c295ceaefe19333f5c49e144a7899d5b5ca1e;hpb=6e6659e77f3e07e157c81332b367dbbd05d21f2b;p=controller.git diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/DefaultConfigParamsImpl.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/DefaultConfigParamsImpl.java index c64c295cea..56fb633672 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/DefaultConfigParamsImpl.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/DefaultConfigParamsImpl.java @@ -20,9 +20,7 @@ import org.slf4j.LoggerFactory; import scala.concurrent.duration.FiniteDuration; /** - * Default implementation of the ConfigParams - * - * If no implementation is provided for ConfigParams, then this will be used. + * Default implementation of the ConfigParams. */ public class DefaultConfigParamsImpl implements ConfigParams { @@ -33,7 +31,7 @@ public class DefaultConfigParamsImpl implements ConfigParams { private static final int JOURNAL_RECOVERY_LOG_BATCH_SIZE = 1000; /** - * The maximum election time variance + * The maximum election time variance. */ private static final int ELECTION_TIME_MAX_VARIANCE = 100; @@ -42,8 +40,9 @@ public class DefaultConfigParamsImpl implements ConfigParams { /** * The interval at which a heart beat message will be sent to the remote - * RaftActor - *
+ * RaftActor. + * + *
* Since this is set to 100 milliseconds the Election timeout should be
* at least 200 milliseconds
*/
@@ -69,6 +68,10 @@ public class DefaultConfigParamsImpl implements ConfigParams {
private PeerAddressResolver peerAddressResolver = NoopPeerAddressResolver.INSTANCE;
+ private String tempFileDirectory = "";
+
+ private int fileBackedStreamingThreshold = 128 * MEGABYTE;
+
public void setHeartBeatInterval(FiniteDuration heartBeatInterval) {
this.heartBeatInterval = heartBeatInterval;
electionTimeOutInterval = null;
@@ -78,7 +81,7 @@ public class DefaultConfigParamsImpl implements ConfigParams {
this.snapshotBatchCount = snapshotBatchCount;
}
- public void setSnapshotDataThresholdPercentage(int snapshotDataThresholdPercentage){
+ public void setSnapshotDataThresholdPercentage(int snapshotDataThresholdPercentage) {
this.snapshotDataThresholdPercentage = snapshotDataThresholdPercentage;
}
@@ -94,15 +97,24 @@ public class DefaultConfigParamsImpl implements ConfigParams {
this.isolatedLeaderCheckInterval = isolatedLeaderCheckInterval.toMillis();
}
- public void setElectionTimeoutFactor(long electionTimeoutFactor){
+ public void setElectionTimeoutFactor(long electionTimeoutFactor) {
this.electionTimeoutFactor = electionTimeoutFactor;
electionTimeOutInterval = null;
}
- public void setCustomRaftPolicyImplementationClass(String customRaftPolicyImplementationClass){
+ public void setTempFileDirectory(String tempFileDirectory) {
+ this.tempFileDirectory = tempFileDirectory;
+ }
+
+ public void setFileBackedStreamingThreshold(int fileBackedStreamingThreshold) {
+ this.fileBackedStreamingThreshold = fileBackedStreamingThreshold;
+ }
+
+ public void setCustomRaftPolicyImplementationClass(String customRaftPolicyImplementationClass) {
this.customRaftPolicyImplementationClass = customRaftPolicyImplementationClass;
}
+ @Override
public String getCustomRaftPolicyImplementationClass() {
return customRaftPolicyImplementationClass;
}
@@ -125,7 +137,7 @@ public class DefaultConfigParamsImpl implements ConfigParams {
@Override
public FiniteDuration getElectionTimeOutInterval() {
- if(electionTimeOutInterval == null) {
+ if (electionTimeOutInterval == null) {
electionTimeOutInterval = getHeartBeatInterval().$times(electionTimeoutFactor);
}
@@ -162,24 +174,35 @@ public class DefaultConfigParamsImpl implements ConfigParams {
return policySupplier.get();
}
- private class PolicySupplier implements Supplier