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

Jan Karlsson commented on CASSANDRA-16718:
------------------------------------------

Great findings so far. Thank you for taking the time to dig into this.

I agree that the old local address is persisted somewhere and therefore used by 
the existing node. However, in an attempt to verify your findings I modified my 
test case to manually change the preferred_ip before I start the last node so 
that it points to the correct address. The test still fails even with an 
updated preferred_ip.

My original thought was that the Gossiper was persisting this ip in 
endpointStateMap. During checkEndpointCollison, the UP node will attempt to 
connect through the local address before this address is updated by the 
ShadowRound.

> Changing listen_address with prefer_local may lead to issues
> ------------------------------------------------------------
>
>                 Key: CASSANDRA-16718
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16718
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Local/Config
>            Reporter: Jan Karlsson
>            Assignee: Brandon Williams
>            Priority: Normal
>             Fix For: 3.11.x, 4.0.x
>
>
> Many container based solution function by assigning new listen_addresses when 
> nodes are stopped. Changing the listen_address is usually as simple as 
> turning off the node and changing the yaml file. 
> However, if prefer_local is enabled, I observed that nodes were unable to 
> join the cluster and fail with 'Unable to gossip with any seeds'. 
> Trace shows that the changing node will try to communicate with the existing 
> node but the response is never received. I assume it is because the existing 
> node attempts to communicate with the local address during the shadow round.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to