public B setServer(RaftServer server) { this.server = server; return getThis(); }
/** @return a {@link Builder}. */ static Builder newBuilder() { return new Builder(); }
/** Set the {@link StateMachine} of the server. */ public Builder setStateMachine(StateMachine stateMachine) { return setStateMachineRegistry(gid -> stateMachine); }
SegmentedRaftLog(RaftPeerId selfId, RaftServerImpl server, StateMachine stateMachine, Runnable submitUpdateCommitEvent, RaftStorage storage, long lastIndexInSnapshot, RaftProperties properties) { super(selfId, lastIndexInSnapshot, RaftServerConfigKeys.Log.Appender.bufferByteLimit(properties).getSizeInt()); this.server = Optional.ofNullable(server); this.storage = storage; segmentMaxSize = RaftServerConfigKeys.Log.segmentSizeMax(properties).getSize(); cache = new RaftLogCache(selfId, storage, properties); this.fileLogWorker = new RaftLogWorker(selfId, stateMachine, submitUpdateCommitEvent, storage, properties); stateMachineCachingEnabled = RaftServerConfigKeys.Log.StateMachineData.cachingEnabled(properties); }
private GrpcService(RaftServer server, GrpcTlsConfig tlsConfig) { this(server, server::getId, GrpcConfigKeys.Server.port(server.getProperties()), GrpcConfigKeys.messageSizeMax(server.getProperties(), LOG::info), RaftServerConfigKeys.Log.Appender.bufferByteLimit(server.getProperties()), GrpcConfigKeys.flowControlWindow(server.getProperties(), LOG::info), RaftServerConfigKeys.Rpc.requestTimeout(server.getProperties()), tlsConfig); }
static void startServers(Iterable<? extends RaftServer> servers) throws IOException { for(RaftServer s : servers) { s.start(); } }
StateMachineUpdater(StateMachine stateMachine, RaftServerImpl server, RaftLog raftLog, long lastAppliedIndex, RaftProperties properties) { this.properties = properties; this.stateMachine = stateMachine; this.server = server; this.raftLog = raftLog; this.lastAppliedIndex = lastAppliedIndex; lastSnapshotIndex = lastAppliedIndex; autoSnapshotEnabled = RaftServerConfigKeys.Snapshot.autoTriggerEnabled(properties); autoSnapshotThreshold = RaftServerConfigKeys.Snapshot.autoTriggerThreshold(properties); updater = new Daemon(this); }
static boolean sync(RaftProperties properties) { return getBoolean(properties::getBoolean, SYNC_KEY, SYNC_DEFAULT, getDefaultLog()); } static void setSync(RaftProperties properties, boolean sync) {
public TimeDuration getTimeoutMax() { return RaftServerConfigKeys.Rpc.timeoutMax(properties); }
@Override public void close() throws IOException { server.close(); }
@BeforeClass public static void setup() { // set a small gap for tests RaftServerConfigKeys.setStagingCatchupGap(prop, STAGING_CATCHUP_GAP); }
protected void startServer(RaftServer server, boolean startService) { if (startService) { server.start(); } }
static boolean cachingEnabled(RaftProperties properties) { return getBoolean(properties::getBoolean, CACHING_ENABLED_KEY, CACHING_ENABLED_DEFAULT, getDefaultLog()); } static void setCachingEnabled(RaftProperties properties, boolean enable) {
public B setServer(RaftServer server) { this.server = server; return getThis(); }
/** @return a {@link Builder}. */ static Builder newBuilder() { return new Builder(); }
public void close() throws IOException { raftServer.close(); }
static SizeInBytes preallocatedSize(RaftProperties properties) { return getSizeInBytes(properties::getSizeInBytes, PREALLOCATED_SIZE_KEY, PREALLOCATED_SIZE_DEFAULT, getDefaultLog()); } static void setPreallocatedSize(RaftProperties properties, SizeInBytes preallocatedSize) {
static int queueElementLimit(RaftProperties properties) { return getInt(properties::getInt, QUEUE_ELEMENT_LIMIT_KEY, QUEUE_ELEMENT_LIMIT_DEFAULT, getDefaultLog(), requireMin(1)); } static void setElementLimit(RaftProperties properties, int queueSize) {
static int bufferElementLimit(RaftProperties properties) { return getInt(properties::getInt, BUFFER_ELEMENT_LIMIT_KEY, BUFFER_ELEMENT_LIMIT_DEFAULT, getDefaultLog(), requireMin(0)); } static void setBufferElementLimit(RaftProperties properties, int bufferElementLimit) {
static int stagingCatchupGap(RaftProperties properties) { return getInt(properties::getInt, STAGING_CATCHUP_GAP_KEY, STAGING_CATCHUP_GAP_DEFAULT, getDefaultLog(), requireMin(0)); } static void setStagingCatchupGap(RaftProperties properties, int stagingCatchupGap) {