Class TimeoutException

All Implemented Interfaces:
Direct Known Subclasses:
AmbiguousTimeoutException, UnambiguousTimeoutException

public abstract class TimeoutException extends CouchbaseException
The TimeoutException signals that an operation timed out before it could be completed.

It is important to understand that the timeout itself is always just the effect an underlying cause, never the issue itself. The root cause might not even be on the application side, also the network and server need to be taken into account.

Right now the SDK can throw two different implementations of this class:

  • AmbiguousTimeoutException: The operation might have caused a side effect on the server and should not be retried without additional actions and checks.
  • UnambiguousTimeoutException: The operation has not caused a side effect on the server and is safe to retry. This is always the case for idempotent operations. For non-idempotent operations it depends on the state the operation was in at the time of cancellation.

Usually it is helpful to inspect/log the full timeout exception, because it also logs the CancellationErrorContext which contains lots of additional metadata. The context can also be accessed through the context() getter.

See Also: