[ https://issues.apache.org/jira/browse/CASSANDRA-16721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17404655#comment-17404655 ]
Sam Tunnicliffe commented on CASSANDRA-16721: --------------------------------------------- Looks good to me, modulo a [few|https://github.com/apache/cassandra/pull/1160/files#r695998655], [trivial|https://github.com/apache/cassandra/pull/1160/files#r696006742], [nits|https://github.com/apache/cassandra/pull/1160/files#r696008838] (sorry, I forgot it was a PR not just a branch). I'm also a fan of Alex's suggestion to replace {{TEST_FORCE_ASYNC_LOCAL_READS}} with some ByteBuddy manipulation in the test. All of the above can be fixed (or not) on commit, so +1 from me too & thanks! > Repaired data tracking on a read coordinator is susceptible to races between > local and remote requests > ------------------------------------------------------------------------------------------------------ > > Key: CASSANDRA-16721 > URL: https://issues.apache.org/jira/browse/CASSANDRA-16721 > Project: Cassandra > Issue Type: Bug > Components: Consistency/Coordination > Reporter: Sam Tunnicliffe > Assignee: Caleb Rackliffe > Priority: Normal > Fix For: 4.0.x, 4.x > > Time Spent: 1.5h > Remaining Estimate: 0h > > 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. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org