You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jason Brown (JIRA)" <ji...@apache.org> on 2017/07/20 21:24:00 UTC

[jira] [Commented] (CASSANDRA-13713) Move processing of EchoMessage response to gossip stage

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

Jason Brown commented on CASSANDRA-13713:
-----------------------------------------

A simple fix available here:

||trunk||
|[branch|https://github.com/jasobrown/cassandra/tree/13713-trunk]|
|[utests|https://circleci.com/gh/jasobrown/cassandra/tree/13713-trunk/]|

This incorrect behavior has been around for a long time. However, I'm not sure how far back to apply the change (the change will be the same for back to 2.1). The existing execution of {{Gossiper#realMarkAlive}} is already asynchronous (nothing is dependent on it, per se); the only downside is another (short-lived, once per peer) task to be executed on the gossip stage. I feel that's a tiny price to pay for reducing the number of different threads that can modify the state of gossip.


> Move processing of EchoMessage response to gossip stage
> -------------------------------------------------------
>
>                 Key: CASSANDRA-13713
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13713
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Distributed Metadata
>            Reporter: Jason Brown
>            Assignee: Jason Brown
>            Priority: Minor
>             Fix For: 4.x
>
>
> Currently, when a node receives an {{EchoMessage}}, is sends a simple ACK reply back (see {{EchoVerbHandler}}). The ACK is sent on the small message connection, and because it is 'generically' typed as {{Verb.REQUEST_RESPONSE}}, is consumed on a {{Stage.REQUEST_RESPONSE}} thread. The proper thread for this response to be consumed is {{Stage.GOSSIP}}, that way we can move more of the updating of the gossip state to a single, centralized thread, and less abuse of gossip's shared mutable state can occur.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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