in ratis-logservice/src/main/java/org/apache/ratis/logservice/server/LogStateMachine.java [580:599]
private CompletableFuture<Message> updateArchiveLogInfo(
LogServiceRequestProto logServiceRequestProto) {
LogServiceProtos.ArchiveLogRequestProto archiveLog = logServiceRequestProto.getArchiveLog();
this.isArchivalRequest = !archiveLog.getIsExport();
Throwable t = null;
if(isArchivalRequest) {
archivalInfo.updateArchivalInfo(archiveLog);
t = verifyState(State.ARCHIVING);
}else{
t = verifyState(State.OPEN, State.CLOSED);
ArchivalInfo info = exportMap.get(archiveLog.getLocation());
if(info==null) {
info = new ArchivalInfo(archiveLog.getLocation());
exportMap.put(archiveLog.getLocation(),info);
}
info.updateArchivalInfo(archiveLog);
}
return CompletableFuture.completedFuture(
Message.valueOf(LogServiceProtoUtil.toArchiveLogReplyProto(t).toByteString()));
}