Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Incomplete
-
10.5.16
-
None
-
Custom Debian Bullseye Docker container on Debian Bullseye host OS.
Description
Server version: 10.5.16-MariaDB-1:10.5.16+maria~bullseye-log
An upgrade from 10.5.16-MariaDB-1:10.5.16+maria~buster-log to 10.5.16-MariaDB-1:10.5.16+maria~bullseye-log (buster to bullseye move) breaks mariabackup SST. The attempt to bootstrap a new cluster and adding another node to the cluster gives the below error on the joiner
Jun 27 16:56:51 2022-06-27 16:56:51 1 [ERROR] WSREP: Failed to prepare for 'mariabackup' SST. Unrecoverable. |
Jun 27 16:56:51 2022-06-27 16:56:51 1 [ERROR] WSREP: SST request callback failed. This is unrecoverable, restart required. |
In the donor node’s syslog, below error is seen:
E Failed to set SNI host "" |
Further investigation revealed that socat 1.7.4 (recently updated in Debian bullseye) defaults to using Server Name Indication (SNI) which breaks epoptes use of socat (https://github.com/epoptes/epoptes/issues/127) leading to failure of mariabackup SST on Bullseye. We resolved the issue by adding the no-sni option to the wsrep_sst_mariabackup script.
if [ $encrypt -lt 2 ]; then |
if [ "$WSREP_SST_OPT_ROLE" = 'joiner' ]; then |
tcmd="socat -u TCP-LISTEN:$SST_PORT,reuseaddr$sockopt stdio" |
else |
tcmd="socat -u stdio TCP:$REMOTEIP:$SST_PORT$sockopt,no-sni=1" |
fi
|
return |
fi
|
In the hope that it may help others in the community, we're opening this bug report.