[
https://issues.apache.org/jira/browse/CASSANDRA-10366?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Brandon Williams updated CASSANDRA-10366:
-----------------------------------------
Attachment: 10336.txt
Patch to always lock the task when adding states. The easiest way to reproduce
the issue is to insert a sleep in Gossiper.applyNewStates if the state is
STATUS or TOKENS and then bounce the nodes a couple of times, examining
gossipinfo.
> Added gossip states can shadow older unseen states
> --------------------------------------------------
>
> Key: CASSANDRA-10366
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10366
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Brandon Williams
> Assignee: Brandon Williams
> Priority: Critical
> Fix For: 2.0.17, 3.0.0 rc1, 2.1.10, 2.2.2
>
> Attachments: 10336.txt
>
>
> In CASSANDRA-6135 we added cloneWithHigherVersion to ensure that if another
> thread added states to gossip while we were notifying we would increase our
> version to ensure the existing states wouldn't get shadowed. This however,
> was not entirely perfect since it's possible that after the clone, but before
> the addition another thread will insert an even newer state, thus shadowing
> the others. A common case (of this rare one) is when STATUS and TOKENS are
> added a bit later in SS.setGossipTokens, where something in another thread
> injects a new state (likely SEVERITY) just before the addition after the
> clone.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)