[ 
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

Reply via email to