Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
Degradation - Other Exception
-
Normal
-
Normal
-
User Report
-
All
-
None
-
Description
In situations where a replica times out with the code introduced in CASSANDRA-7392, they drop the timed-out query on the floor without notifying the coordinator; this doesn't become apparent coordinator-side until we go to serialize the response. While the results of this (i.e. missed data) should mostly be fixed by short read protection on repeat requests, the coordinator can in some cases throw an exception like IllegalStateException: UnfilteredRowIterator for keyspace.table has an open RT bound as its last item which is decidedly unfriendly.
We should introduce a specific exception to allow replicas to notify a coordinator something has timed out and been dropped on the floor so the coordinator can appropriately handle that scenario and abort the query at that time.