Class ReadFailureException
- java.lang.Object
-
- java.lang.Throwable
-
- java.lang.Exception
-
- java.lang.RuntimeException
-
- com.datastax.driver.core.exceptions.DriverException
-
- com.datastax.driver.core.exceptions.QueryExecutionException
-
- com.datastax.driver.core.exceptions.QueryConsistencyException
-
- com.datastax.driver.core.exceptions.ReadFailureException
-
- All Implemented Interfaces:
CoordinatorException,Serializable
public class ReadFailureException extends QueryConsistencyException
A non-timeout error during a read query.This happens when some of the replicas that were contacted by the coordinator replied with an error.
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ReadFailureException(ConsistencyLevel consistency, int received, int required, int failed, boolean dataPresent)Deprecated.Legacy constructor for backward compatibility.ReadFailureException(ConsistencyLevel consistency, int received, int required, int failed, Map<InetAddress,Integer> failuresMap, boolean dataPresent)This constructor should only be used internally by the driver when decoding error responses.ReadFailureException(EndPoint endPoint, ConsistencyLevel consistency, int received, int required, int failed, boolean dataPresent)Deprecated.Legacy constructor for backward compatibility.ReadFailureException(EndPoint endPoint, ConsistencyLevel consistency, int received, int required, int failed, Map<InetAddress,Integer> failuresMap, boolean dataPresent)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ReadFailureExceptioncopy()Copy the exception.ReadFailureExceptioncopy(EndPoint endPoint)intgetFailures()Returns the number of replicas that experienced a failure while executing the request.Map<InetAddress,Integer>getFailuresMap()Returns the a failure reason code for each node that failed.booleanwasDataRetrieved()Whether the actual data was amongst the received replica responses.-
Methods inherited from class com.datastax.driver.core.exceptions.QueryConsistencyException
getAddress, getConsistencyLevel, getEndPoint, getHost, getReceivedAcknowledgements, getRequiredAcknowledgements
-
Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
-
-
-
-
Constructor Detail
-
ReadFailureException
public ReadFailureException(ConsistencyLevel consistency, int received, int required, int failed, Map<InetAddress,Integer> failuresMap, boolean dataPresent)
This constructor should only be used internally by the driver when decoding error responses.
-
ReadFailureException
@Deprecated public ReadFailureException(ConsistencyLevel consistency, int received, int required, int failed, boolean dataPresent)
Deprecated.Legacy constructor for backward compatibility.
-
ReadFailureException
public ReadFailureException(EndPoint endPoint, ConsistencyLevel consistency, int received, int required, int failed, Map<InetAddress,Integer> failuresMap, boolean dataPresent)
-
ReadFailureException
@Deprecated public ReadFailureException(EndPoint endPoint, ConsistencyLevel consistency, int received, int required, int failed, boolean dataPresent)
Deprecated.Legacy constructor for backward compatibility.
-
-
Method Detail
-
getFailures
public int getFailures()
Returns the number of replicas that experienced a failure while executing the request.- Returns:
- the number of failures.
-
getFailuresMap
public Map<InetAddress,Integer> getFailuresMap()
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.
- Returns:
- a map of IP addresses to failure codes.
-
wasDataRetrieved
public boolean wasDataRetrieved()
Whether the actual data was amongst the received replica responses.During reads, Cassandra doesn't request data from every replica to minimize internal network traffic. Instead, some replicas are only asked for a checksum of the data. A read timeout may occurred even if enough replicas have responded to fulfill the consistency level if only checksum responses have been received. This method allows to detect that case.
- Returns:
- whether the data was amongst the received replica responses.
-
copy
public ReadFailureException 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 (this is mainly intended for internal use by the driver). The cause of the copied exception will be the original exception.
- Overrides:
copyin classDriverException- Returns:
- a copy/clone of this exception.
-
copy
public ReadFailureException copy(EndPoint endPoint)
-
-