[ 
https://issues.apache.org/jira/browse/CASSANDRA-15059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16823408#comment-16823408
 ] 

Ariel Weisberg edited comment on CASSANDRA-15059 at 4/22/19 8:25 PM:
---------------------------------------------------------------------

Great!

{{quarantineEndpoint}} and {{replacementQuarantine}} are private, but maybe 
check there as well? I don't feel strongly about it, but it's slightly safer 
when they are called indirectly.

{{assassinateEndpoint}} asserts on the thread inside the lambda for run in 
Gossip stage. Harmless, but is it too much?

{{notifyFailureDetector}} seems like it could tolerate having this assertion 
since it is called from VerbHandlers in the gossip stage?


was (Author: aweisberg):
Great!

{{quarantineEndpoint}} and {{replacementQuarantine}} are private, but maybe 
check there as well? I don't feel strongly about it, but it's slightly safer 
when they are called indirectly.

{{assissinateEndpoint}} asserts on the thread inside the lambda for run in 
Gossip stage. Harmless, but is it too much?

{{notifyFailureDetector}} seems like it could tolerate having this assertion 
since it is called from VerbHandlers in the gossip stage?

> Gossiper#markAlive can race with Gossiper#markDead
> --------------------------------------------------
>
>                 Key: CASSANDRA-15059
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15059
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Cluster/Gossip
>            Reporter: Blake Eggleston
>            Assignee: Blake Eggleston
>            Priority: Normal
>
> The Gossiper class is not threadsafe and assumes all state changes happen in 
> a single thread (the gossip stage). Gossiper#convict, however, can be called 
> from the GossipTasks thread. This creates a race where calls to 
> Gossiper#markAlive and Gossiper#markDead can interleave, corrupting gossip 
> state. Gossiper#assassinateEndpoint has a similar problem, being called from 
> the mbean server thread.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to