Class WriteFailureException
- java.lang.Object
-
- java.lang.Throwable
-
- java.lang.Exception
-
- java.lang.RuntimeException
-
- com.datastax.oss.driver.api.core.DriverException
-
- com.datastax.oss.driver.api.core.servererrors.CoordinatorException
-
- com.datastax.oss.driver.api.core.servererrors.QueryExecutionException
-
- com.datastax.oss.driver.api.core.servererrors.QueryConsistencyException
-
- com.datastax.oss.driver.api.core.servererrors.WriteFailureException
-
- All Implemented Interfaces:
Serializable
public class WriteFailureException extends QueryConsistencyException
A non-timeout error during a write query.This happens when some of the replicas that were contacted by the coordinator replied with an error.
This exception is processed by
RetryPolicy.onErrorResponseVerdict(Request, CoordinatorException, int), which will decide if it is rethrown directly to the client or if the request should be retried. If all other tried nodes also fail, this exception will appear in theAllNodesFailedExceptionthrown to the client.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description WriteFailureException(Node coordinator, ConsistencyLevel consistencyLevel, int received, int blockFor, WriteType writeType, int numFailures, Map<InetAddress,Integer> reasonMap)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DriverExceptioncopy()Copy the exception.intgetNumFailures()Returns the number of replicas that experienced a failure while executing the request.Map<InetAddress,Integer>getReasonMap()Returns the a failure reason code for each node that failed.WriteTypegetWriteType()The type of the write for which this failure was raised.-
Methods inherited from class com.datastax.oss.driver.api.core.servererrors.QueryConsistencyException
getBlockFor, getConsistencyLevel, getReceived
-
Methods inherited from class com.datastax.oss.driver.api.core.servererrors.CoordinatorException
getCoordinator
-
Methods inherited from class com.datastax.oss.driver.api.core.DriverException
getExecutionInfo, setExecutionInfo
-
Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
-
-
-
-
Constructor Detail
-
WriteFailureException
public WriteFailureException(@NonNull Node coordinator, @NonNull ConsistencyLevel consistencyLevel, int received, int blockFor, @NonNull WriteType writeType, int numFailures, @NonNull Map<InetAddress,Integer> reasonMap)
-
-
Method Detail
-
getWriteType
@NonNull public WriteType getWriteType()
The type of the write for which this failure was raised.
-
getNumFailures
public int getNumFailures()
Returns the number of replicas that experienced a failure while executing the request.
-
getReasonMap
@NonNull public Map<InetAddress,Integer> getReasonMap()
Returns the a failure reason code for each node that failed.At the time of writing, the existing reason codes are:
0x0000: the error does not have a specific code assigned yet, or the cause is unknown.0x0001: The read operation scanned too many tombstones (as defined bytombstone_failure_thresholdincassandra.yaml, causing aTombstoneOverwhelmingException.
This feature is available for protocol v5 or above only. With lower protocol versions, the map will always be empty.
-
copy
@NonNull public DriverException copy()
Description copied from class:DriverExceptionCopy the exception.This returns a new exception, equivalent to the original one, except that because a new object is created in the current thread, the top-most element in the stacktrace of the exception will refer to the current thread. The original exception may or may not be included as the copy's cause, depending on whether that is deemed useful (this is left to the discretion of each implementation).
This is intended for the synchronous wrapper methods of the driver, in order to produce a more user-friendly stack trace (that includes the line in the user code where the driver rethrew the error).
- Specified by:
copyin classDriverException
-
-