cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ariel Weisberg (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-11116) Gossiper#isEnabled is not thread safe
Date Thu, 04 Feb 2016 18:34:40 GMT


Ariel Weisberg commented on CASSANDRA-11116:

[~sbtourist] The timestamp on the "gossip started" message is after the timestamp on the "Ignoring
GossipDigestSynMessage because gossip is disabled" message.

While the absence of a volatile or final in this case could cause a missing happens before
relationship I don't think it can stop publishing of the field value entirely.

> Gossiper#isEnabled is not thread safe
> -------------------------------------
>                 Key: CASSANDRA-11116
>                 URL:
>             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 (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 (line
44) Ignoring GossipDigestSynMessage because gossip is disabled
> {noformat}

This message was sent by Atlassian JIRA

View raw message