* See the file LICENSE for redistribution information.
* Copyright (c) 2002, 2013 Oracle and/or its affiliates. All rights reserved.
This exception is thrown at the time of a commit in a Master, if the Master
could not obtain transaction commit acknowledgments from its Replicas in
accordance with the
currently in effect. This
exception will never be thrown when the ReplicaAckPolicy of NONE is in
Note that a InsufficientAcksException does not indicate there was a failure to commit the transaction on the master. The transaction has in fact been successfully committed on the master at the time of the exception.
The application can handle the exception and use it to take some form of administrative action. For example, it may log messages to have the operations staff look into the health of the replicas or the network. Or it may decide to increase the durability of the transaction on the Master by ensuring that the changes are flushed to the operating system's buffers or to the disk itself.
The application may additionally choose to continue to create new transactions, which may succeed or fail depending on whether the underlying problems have been resolved.
super(null, false /*abortOnly*/,
" Insufficient acks for policy:" +
"Missing replica acks: " + acksPending + ". " +
"Timeout: " + ackTimeoutMs + "ms. " +
"FeederState=" + feederState,