Details
-
Type:
Bug
-
Status: Needs Feedback (View Workflow)
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 10.5.16
-
Fix Version/s: None
-
Component/s: Galera SST, mariabackup
-
Labels:None
-
Environment: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.