Sergio Bossa created CASSANDRA-11116:
----------------------------------------

             Summary: Gossiper#isEnabled is not thread safe
                 Key: CASSANDRA-11116
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11116
             Project: Cassandra
          Issue Type: Bug
            Reporter: Sergio Bossa
            Priority: Critical


{{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)

Reply via email to