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

Jeff Jirsa commented on CASSANDRA-20051:
----------------------------------------

There's no valid reason why you'd WANT a seed to point to a non-existent node. 
In practice, it's usually "it's about to be added" or "it was just removed", 
and the gossiper I think does the right thing about not blocking on it if you 
do it. 

 

The motivation for the "don't reload the config if empty" was "people saw two 
instances at different companies where somehow they shipped broken yaml, and it 
causes a full cluster crash because you end up with a blocking read on an empty 
queue", so we tried to harden those areas of the codebase. It's imperfect. This 
patch may be fine in the sense that it's less surprising to people. It just ... 
doesn't do anything in real life. 

> nodetool reloadseeds does not reliably reload the seeds
> -------------------------------------------------------
>
>                 Key: CASSANDRA-20051
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-20051
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Local/Config
>            Reporter: Tibor Repasi
>            Assignee: Stefan Miklosovic
>            Priority: Normal
>             Fix For: 4.0.x, 4.1.x, 5.0.x, 5.x
>
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> During re-deploying lots of Cassandra nodes I've observed that some nodes 
> does not reliably reload the seeds when {{nodetool reloadseeds}} command was 
> issued.
> After the seeds list was changed in the config:
> {code}
> $ grep seeds /etc/cassandra/cassandra.yaml
>  - seeds: 10.90.44.82
> $ nodetool getseeds
> Current list of seed node IPs, excluding the current node's IP: 
> /10.90.40.86:7000 /10.90.44.86:7000
> $ nodetool reloadseeds
> Updated seed node IP list, excluding the current node's IP: /10.90.40.86:7000 
> /10.90.44.86:7000
> {code}
> At this instance the following line was logged to debug.log:
> {code}
> DEBUG [RMI TCP Connection(103568)-127.0.0.1] 2024-11-04 14:04:27,638 
> YamlConfigurationLoader.java:124 - Loading settings from 
> file:/etc/cassandra/cassandra.yaml
> {code}
> However, getting the old list:
> {code}
> $ nodetool getseeds
> Current list of seed node IPs, excluding the current node's IP: 
> /10.90.40.86:7000 /10.90.44.86:7000
> {code}
> These nodes read the seed list only after Cassandra was restarted:
> {code}
> $ sudo systemctl restart cassandra.service
> $ nodetool getseeds
> Seed node list does not contain any remote node IPs
> {code}
> Note: this was observed on a seed node.
> Observed on Cassandra 4.1.7.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to