cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefania (JIRA)" <>
Subject [jira] [Updated] (CASSANDRA-8516) NEW_NODE topology event emitted instead of MOVED_NODE by moving node
Date Mon, 02 Mar 2015 07:30:04 GMT


Stefania updated CASSANDRA-8516:
    Attachment: cassandra_8516_dtest.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:
>             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

View raw message