public interface IndeterminateOperationStateAware
RaftOpis replicated to the leader of a Raft group, but the leader fails before it sends any response, the caller has no idea about the status of its operation. The possible cases are: - the failed leader did not append the operation, - the failed leader appended the operation but not committed yet, - the failed leader committed the operation. In this case, we check if the operation is safe to retry. The operation is considered to be safe to retry only if it implements this interface and
true. If this is the case, the operation will be retried. Otherwise, we do not know if the operation is safe or not. In this case, we make a decision between offering at-most-once and at-least-once execution semantics via the
CPSubsystemConfig.failOnIndeterminateOperationStateconfiguration. If this configuration is enabled, we do not retry the operation and fail with
IndeterminateOperationStateException, hence offer at-most-once semantics. Otherwise, we retry the operation and we are fine with a possible duplicate commit of the operation.
Copyright © 2019 Hazelcast, Inc.. All Rights Reserved.