/** Update the term of this raft node, resetting the state of the raft for the new term. */ public void setTerm(final int term) { final int currentTerm = getTerm(); if (currentTerm < term) { persistentStorage.setTerm(term).setVotedFor(null).save(); logStream.setTerm(term); } else if (currentTerm > term) { LOG.debug("Cannot set term to smaller value {} < {}", term, currentTerm); } }
/** Update the term of this raft node, resetting the state of the raft for the new term. */ public void setTerm(final int term) { final int currentTerm = getTerm(); if (currentTerm < term) { persistentStorage.setTerm(term).setVotedFor(null).save(); logStream.setTerm(term); } else if (currentTerm > term) { LOG.debug("Cannot set term to smaller value {} < {}", term, currentTerm); } }
@Override public void start(final ServiceStartContext startContext) { this.logStream = logStreamInjector.getValue(); this.logStream.setTerm(getTerm()); this.serviceContext = startContext; raftJoinedService = new RaftJoinService(this, actor); serviceContext.createService(joinServiceName(raftName), raftJoinedService).install(); startContext.async(startContext.getScheduler().submitActor(this, true)); }
@Override public void start(final ServiceStartContext startContext) { this.logStream = logStreamInjector.getValue(); this.logStream.setTerm(getTerm()); this.serviceContext = startContext; raftJoinedService = new RaftJoinService(this, actor); serviceContext.createService(joinServiceName(raftName), raftJoinedService).install(); startContext.async(startContext.getScheduler().submitActor(this, true)); }
@Before public void setup() { MockitoAnnotations.initMocks(this); serverOutput = new BufferingServerOutput(); logStream = LogStreams.createFsLogStream(LOG_STREAM_PARTITION_ID) .logRootPath(tempFolder.getRoot().getAbsolutePath()) .serviceContainer(serviceContainerRule.get()) .logName("Test") .build() .join(); logStream.openAppender().join(); messageHandler = new ClientApiMessageHandler(mockControlMessageDispatcher); final Partition partition = new Partition(new PartitionInfo(LOG_STREAM_PARTITION_ID, 1), RaftState.LEADER) { @Override public LogStream getLogStream() { return logStream; } }; messageHandler.addPartition(partition); logStream.setTerm(RAFT_TERM); }
@Before public void setup() { MockitoAnnotations.initMocks(this); serverOutput = new BufferingServerOutput(); logStream = LogStreams.createFsLogStream(LOG_STREAM_PARTITION_ID) .logRootPath(tempFolder.getRoot().getAbsolutePath()) .serviceContainer(serviceContainerRule.get()) .logName("Test") .build() .join(); logStream.openAppender().join(); messageHandler = new ClientApiMessageHandler(mockControlMessageDispatcher); final Partition partition = new Partition(new PartitionInfo(LOG_STREAM_PARTITION_ID, 1), RaftState.LEADER) { @Override public LogStream getLogStream() { return logStream; } }; messageHandler.addPartition(partition); logStream.setTerm(RAFT_TERM); }