cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brandon Williams (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-6961) nodes should go into hibernate when join_ring is false
Date Tue, 01 Apr 2014 19:44:21 GMT

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

Brandon Williams updated CASSANDRA-6961:
----------------------------------------

    Attachment: 6961.txt

Patch to enable this.  We only advertise tokens if some were already saved, so you can still
start with join_ring=false, and then use join to bootstrap later (I don't know why anyone
would do that, but that's the behavior we had before.)  You can run repair on the node while
it's in hibernate, and as a bonus side effect, if you take a blank node and set join_ring=false
but don't disable rpc, you have an instant coordinator-only fat client (where before if you
did this, you were asking for trouble.)

> nodes should go into hibernate when join_ring is false
> ------------------------------------------------------
>
>                 Key: CASSANDRA-6961
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6961
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Brandon Williams
>            Assignee: Brandon Williams
>             Fix For: 2.0.8
>
>         Attachments: 6961.txt
>
>
> The impetus here is this: a node that was down for some period and comes back can serve
stale information.  We know from CASSANDRA-768 that we can't just wait for hints, and know
that tangentially related CASSANDRA-3569 prevents us from having the node in a down (from
the FD's POV) state handle streaming.
> We can *almost* set join_ring to false, then repair, and then join the ring to narrow
the window (actually, you can do this and everything succeeds because the node doesn't know
it's a member yet, which is probably a bit of a bug.)  If instead we modified this to put
the node in hibernate, like replace_address does, it could work almost like replace, except
you could run a repair (manually) while in the hibernate state, and then flip to normal when
it's done.
> This won't prevent the staleness 100%, but it will greatly reduce the chance if the node
has been down a significant amount of time.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message