S3 discovery and docker bridge networks

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

S3 discovery and docker bridge networks

DaveWHarvey
The general problem is a when a node pushes its IP addresses to S3, it has
no way to tell whether one of its IP address will be usable by other
nodes.   On the consumer side, we are unable to determine at runtime which
of the addresses will work.   So we end up doing discovery using worthless
IP addresses, and then need to suffer timeouts to sort this out, slowing
down startup.

Our fix is to allow configuration of a set of exclusion patterns (regex) on
TCPCommunicationSpi, so we could exclude "192.168.*" for example.

https://jira.apache.org/jira/browse/IGNITE-10791
Reply | Threaded
Open this post in threaded view
|

RE: S3 discovery and docker bridge networks

Stanislav Lukyanov
I thought about the same thing when using machines with Docker installed – it seems that regex/subnet exclusion really would help.
I wonder if there are corner cases when it wouldn’t work well though.

We’d need to handle this in both TcpCommunicationSpi and TcpDiscoverySpi.
Probably even some view in IgniteConfiguration is needed, since we already have IgntieConfiguration::setLocalHost.

Do you have some sort of draft/patch?

Thanks,
Stan

From: David Harvey
Sent: 21 декабря 2018 г. 18:50
To: [hidden email]
Subject: S3 discovery and docker bridge networks

The general problem is a when a node pushes its IP addresses to S3, it has
no way to tell whether one of its IP address will be usable by other
nodes.   On the consumer side, we are unable to determine at runtime which
of the addresses will work.   So we end up doing discovery using worthless
IP addresses, and then need to suffer timeouts to sort this out, slowing
down startup.

Our fix is to allow configuration of a set of exclusion patterns (regex) on
TCPCommunicationSpi, so we could exclude "192.168.*" for example.

https://jira.apache.org/jira/browse/IGNITE-10791