[ https://issues.apache.org/jira/browse/CASSANDRA-11116?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15137109#comment-15137109 ]
Aleksey Yeschenko commented on CASSANDRA-11116: ----------------------------------------------- Additionally committed to 2.1 in {{6fe70c65291d01f1f1b1c5edaa727fbbb79eb617}}. > Gossiper#isEnabled is not thread safe > ------------------------------------- > > Key: CASSANDRA-11116 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11116 > Project: Cassandra > Issue Type: Bug > Components: Core > Reporter: Sergio Bossa > Assignee: Ariel Weisberg > Priority: Critical > Fix For: 2.1.14, 2.2.6, 3.0.4, 3.4 > > > {{Gossiper#isEnabled()}} relies on the presence of {{scheduledGossipTask}}, > which is not final nor volatile. As a consequence, when such method is called > on a different thread, i.e. the gossip stage thread, it is sometimes detected > as not enabled, causing particularly obscure failures. > This is shown by the following logs. First the gossiper is started: > {noformat} > 1 TRACE [Thread-29] 2016-02-03 19:21:31,232 Gossiper.java (line 1310) gossip > started with generation 1454527291 > {noformat} > Then the same node misses a gossip message because the gossiper is seen as > disabled: > {noformat} > 1 TRACE [GossipStage:1] 2016-02-03 19:21:32,016 > GossipDigestSynVerbHandler.java (line 44) Ignoring GossipDigestSynMessage > because gossip is disabled > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)