I see this error, when the second is trying to join the cluster.
2024-04-01T01:29:43.834102Z 2 [System] [MY-000000] [WSREP] P: ####### IST uuid:00000000-0000-0000-0000-000000000000 f: 0, l: 5, STRv: 3
2024-04-01T01:29:43.834192Z 2 [System] [MY-000000] [WSREP] P: IST receiver addr using tcp://172.17.10.92:4568
2024-04-01T01:29:43.834387Z 2 [Warning] [MY-000000] [WSREP] P: Failed to prepare for incremental state transfer: Failed to open IST listener at tcp://172.17.10.92:4568', asio error 'Failed to listen: bind: Cannot assign requested address: 99 (Cannot assign requested address)
at /tmp/workspace/aws-galera-4-deb-packages/label/build-ubuntu-focal-amd64/deb-build-galera/galerautils/src/gu_asio_stream_react.cpp:listen():850': 99 (Cannot assign requested address)
at /tmp/workspace/aws-galera-4-deb-packages/label/build-ubuntu-focal-amd64/deb-build-galera/galera/src/ist.cpp:prepare():319. IST will be unavailable.
2024-04-01T01:29:43.834972Z 0 [System] [MY-000000] [WSREP] P: Member 0.0 (dea5509fb4d1) requested state transfer from '*any*'. Selected 1.0 (002640089b0c)(SYNCED) as donor.
You don’t need these unless you are running the actual arbitrator daemon.
Looks like MySQL is trying to bind to a non-existent IP address inside the docker container. Change your config to use 0.0.0.0 to bind to all IPs inside the container.
Thanks @matthewb for your response, but I already have 0.0.0.0 in my.cnf file.
I see some other people also have the similar issue.
Its working fine, if the docker container is mapped to “host” network.
So, is the docker “host” network mandatory for SST/IST to work with Galera4-MySQL8?
I’ve not read that is a hard requirement. Maybe try adding --privileged or other CAP_ADD network permissions if you need it to work in bridged mode.
I would also recommend switching to Percona XtraDB Cluster 8, which uses an enhanced Galera4 + Percona MySQL 8.0. And if you’re looking at Kubernetes, our Operator is 2nd to none in terms of functionality and stability.