Support socat parametrization to perform SST

Description

Currently, even though the buffer setting for socat was noted as useful in upstream before:
https://galeracluster.com/library/documentation/xtrabackup-options.html

The default and recommended utility is Socat, given that it allows for socket options, such as transfer buffer size. 

the transferfmt reads only "nc" vs "socat" options, and the additional params are ignored, as the command is hard-coded later in the script. I think socat params should be optionable in [SST] section as well, especially large buffer.

For instance, to SST without encryption, you'd need to modify this code part:

 

else if [[ $encrypt -eq 1 ]]; then wsrep_log_warning "**** WARNING **** encrypt=1 is deprecated and will be removed in a future release" fi if [[ "$WSREP_SST_OPT_ROLE" == "joiner" ]]; then tcmd="socat -b 65536 -u TCP-LISTEN:${TSST_PORT},reuseaddr${sockopt} stdio" else tcmd="socat -b 65536 -u stdio TCP:${REMOTEIP}:${TSST_PORT}${sockopt}" fi

 

 

Environment

None

AFFECTED CS IDs

262256

Smart Checklist

Activity

Show:

Vinicius Grippa August 5, 2019 at 12:48 PM

The option is available as Mykola mentioned. Here is the link for the documentation:

https://www.percona.com/doc/percona-xtradb-cluster/LATEST/manual/xtrabackup_sst.html#sockopt

Vinicius Grippa August 5, 2019 at 12:16 PM

 

Yes, it works! We digged the documentation and didn't find this option.

 

Thanks for catching it! This ticket can be closed for me.

Mykola Marzhan August 5, 2019 at 12:10 PM

, sorry, is the following config works for you? (1Gb buffer)

[sst] sockopt="rcvbuf=1073741824,sndbuf=1073741824"
Not a Bug

Details

Assignee

Reporter

Affects versions

Priority

Smart Checklist

Created August 5, 2019 at 11:21 AM
Updated March 6, 2024 at 10:07 PM
Resolved August 5, 2019 at 12:48 PM