-
Notifications
You must be signed in to change notification settings - Fork 25.6k
Description
I'm finding that cross cluster search doesn't continuously resolve hostnames and instead caches the addresses indefinitely. Correct me if I'm wrong in my analysis but it appears that hostnames for the seeds are only resolved upon node startup and update to the seed list. I'm seeing this at https://github.com/elastic/elasticsearch/blob/v6.3.2/server/src/main/java/org/elasticsearch/transport/RemoteClusterService.java#L318 and https://github.com/elastic/elasticsearch/blob/v6.3.2/server/src/main/java/org/elasticsearch/transport/RemoteClusterService.java#L333.
This makes cross cluster search impossible to use in any environment with changing IP's such as a containerized environment.
The best idea I have for a workaround is to have each node routinely ping it's own /_remote/info endpoint and whenever an empty seeds list appears from it being disconnected, dynamically remove the seed from the cluster settings, and re-add it.