Berkeley DB Java Edition
version 5.0.34

com.sleepycat.je.rep
Class InsufficientAcksException

java.lang.Object
  extended by java.lang.Throwable
      extended by java.lang.Exception
          extended by java.lang.RuntimeException
              extended by com.sleepycat.je.DatabaseException
                  extended by com.sleepycat.je.OperationFailureException
                      extended by com.sleepycat.je.rep.InsufficientAcksException
All Implemented Interfaces:
Serializable

public class InsufficientAcksException
extends OperationFailureException

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 Durability.ReplicaAckPolicy currently in effect. This exception 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 Also:
Durability, Serialized Form

Method Summary
 int acksPending()
          It returns the number of Replicas that did not respond with an acknowledgment within the Replica commit timeout period.
 int acksRequired()
          It returns the number of acknowledgments required by the commit policy.
 int ackTimeout()
          Returns the acknowledgment timeout that was in effect at the time of the exception.
 
Methods inherited from class com.sleepycat.je.DatabaseException
getMessage
 
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

acksPending

public int acksPending()
It returns the number of Replicas that did not respond with an acknowledgment within the Replica commit timeout period.

Returns:
the number of missing acknowledgments

acksRequired

public int acksRequired()
It returns the number of acknowledgments required by the commit policy.

Returns:
the number of acknowledgments required

ackTimeout

public int ackTimeout()
Returns the acknowledgment timeout that was in effect at the time of the exception.

Returns:
the acknowledgment timeout in milliseconds

Berkeley DB Java Edition
version 5.0.34

Copyright (c) 2004-2011 Oracle. All rights reserved.