Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
Availability - Response Crash
-
Normal
-
Normal
-
User Report
-
All
-
None
-
Description
At read time on a coordinator which is also a replica, the local and remote reads can race such that the remote responses are received while the local read is executing. If the remote responses are mismatching, triggering a DigestMismatchException and subsequent round of full data reads and read repair, the local runnable may find the isTrackingRepairedStatus flag flipped mid-execution. If this happens after a certain point in execution, it would mean
that the RepairedDataInfo instance in use is the singleton null object RepairedDataInfo.NULL_REPAIRED_DATA_INFO. If this happens, it can lead to an NPE when calling RepairedDataInfo::extend when the local results are iterated.
Attachments
Issue Links
- relates to
-
CASSANDRA-14145 Detecting data resurrection during read
- Resolved