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 {@link ReplicaAckPolicy} currently in effect. Thisexception will never be thrown when the ReplicaAckPolicy of NONE is in effect.
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. @see Durability
|
|
|
|