cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brandon Williams (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-8138) replace_address cannot find node to be replaced node after seed node restart
Date Thu, 06 Nov 2014 17:47:34 GMT


Brandon Williams commented on CASSANDRA-8138:

I think I'd much rather say that the edge case of a node dying, and then a full cluster restart
(rolling would still work) is just not supported, rather than make such invasive changes to
support replacement under such strange and rare conditions.  If that happens, it's time to
assassinate the node and bootstrap another one.

> replace_address cannot find node to be replaced node after seed node restart
> ----------------------------------------------------------------------------
>                 Key: CASSANDRA-8138
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Oleg Anastasyev
>            Assignee: Brandon Williams
>         Attachments: ReplaceAfterSeedRestart.txt
> If a node failed and a cluster was restarted (which is common case on massive outages),
replace_address fails with
> {code}
> Caused by: java.lang.RuntimeException: Cannot replace_address / because it
doesn't exist in gossip
> jvm 1    | 	at org.apache.cassandra.service.StorageService.prepareReplacementInfo(
> jvm 1    | 	at org.apache.cassandra.service.StorageService.joinTokenRing(
> jvm 1    | 	at org.apache.cassandra.service.StorageService.initServer(
> jvm 1    | 	at org.apache.cassandra.service.StorageService.initServer(
> {code}
> Although neccessary information is saved in system tables on seed nodes, it is not loaded
to gossip on seed node, so a replacement node cannot get this info.
> Attached patch loads all information from system tables to gossip with generation 0 and
fixes some bugs around this info on shadow gossip round.

This message was sent by Atlassian JIRA

View raw message