Option --parallel is not passed to xbstream in wsrep_sst_xtrabackup-v2

Description

While analyzing low performance of process of SST for PXC found that in the wsrep_sst_xtrabackup-v2 script --parallel option passed to xtrabackup on donor side and missed on joiner side where xbstream binary processing SST stream. Such way the bottleneck is on joiner side where we write data in single thread.

get_stream()
{
   if [[ $sfmt == 'xbstream' ]]; then
       wsrep_log_debug "Streaming with xbstream"
       if [[ "$WSREP_SST_OPT_ROLE"  == "joiner" ]]; then
           strmcmd="xbstream \$xbstreameopts -x"
       else
           strmcmd="xbstream \$xbstreameopts -c \${FILE_TO_STREAM}"
       fi
   else
...

Fix for the issue for wsrep_sst_xtrabackup-v2 in 5.7.28:

— wsrep_sst_xtrabackup-v2      2019-09-15 02:25:33.000000000 -0400
+++ wsrep_sst_xtrabackup-v2.fixed      2020-01-15 10:58:33.970457822 -0500
@@ -269,7 +269,7 @@
 
        if [[ "$WSREP_SST_OPT_ROLE" == "joiner" ]]; then
            # Decryption is done by xbstream for SST

  •            xbstreameopts_sst=" --decrypt=$ealgo $encrypt_opts --encrypt-threads=$encrypt_threads "
    +            xbstreameopts_sst=" --decrypt=$ealgo $encrypt_opts --encrypt-threads=$encrypt_threads --parallel=${backup_threads}"
                xbstreameopts_other=""
                ieopts=""
            else

 

Environment

None

Smart Checklist

Activity

Show:

KennT January 22, 2020 at 5:20 AM

Duplicate of pxc-2602.

You can use

Duplicate

Details

Assignee

Reporter

Priority

Smart Checklist

Created January 16, 2020 at 4:16 PM
Updated March 6, 2024 at 9:52 PM
Resolved January 22, 2020 at 5:20 AM