You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Stefania (JIRA)" <ji...@apache.org> on 2015/03/02 08:30:04 UTC

[jira] [Updated] (CASSANDRA-8516) NEW_NODE topology event emitted instead of MOVED_NODE by moving node

     [ https://issues.apache.org/jira/browse/CASSANDRA-8516?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stefania updated CASSANDRA-8516:
--------------------------------
    Attachment: cassandra_8516_dtest.txt
                cassandra_8516_b.txt
                cassandra_8516_a.txt

[~thobbs] thank you for the dtest.

I was able to pass the test with two fixes, patches attached, one is trivial and one is a little bit more convoluted but perhaps safer:
\\
\\
* Patch A, we just look at the operating mode in addition to the moving endpoints - this woks because {{setTokens()}} only changes the operating mode to NORMAL at the very end and so the moving node can use this whilst the other nodes still look at the moving endpoints.

* Patch B, we add a new {{VersionedValue}} called "MOVED" and we GOSSIP this around so that we know if we are entering a normal state following a JOIN or a MOVE. It is set in SS.{{move}} by passing a parameter to {{setTokens}}.

Both patches are for 2.1. Let me know if you are happy with one of the two or if I should look further, changing the behavior or calling points of {{updateNormalTokens()}} looked a lot riskier, so I did not go down this route.

I also attached another patch, for the dtest, at least with the latest git source code of the python driver, I had to specify that the connection is a control connection otherwise it wouldn't receive the notifications.

> NEW_NODE topology event emitted instead of MOVED_NODE by moving node
> --------------------------------------------------------------------
>
>                 Key: CASSANDRA-8516
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8516
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Tyler Hobbs
>            Assignee: Stefania
>            Priority: Minor
>             Fix For: 2.0.13
>
>         Attachments: cassandra_8516_a.txt, cassandra_8516_b.txt, cassandra_8516_dtest.txt
>
>
> As discovered in CASSANDRA-8373, when you move a node in a single-node cluster, a {{NEW_NODE}} event is generated instead of a {{MOVED_NODE}} event.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)