[MDEV-10853] netcat help output in error log when running xtrabackup SST Created: 2016-09-21  Updated: 2016-09-28  Resolved: 2016-09-22

Status: Closed
Project: MariaDB Server
Component/s: Galera SST
Affects Version/s: 10.1.17, 5.5.51-galera, 10.0.27-galera
Fix Version/s: 10.1.18, 10.0.28-galera, 5.5.53-galera

Type: Bug Priority: Major
Reporter: Hartmut Holzgraefe Assignee: Nirbhay Choubey (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Environment:

Linux



 Description   

The feature check for "ncat" in the XtraBackup SST scripts only works on CentOS 7, on other distributions it leads to full netcat help output being written to the error log instead.

This is due to the nc version in CentOS 7 writing help output to stdout, while the version in CentOS 6, and in Ubuntu 16.04, write to stderr instead.

Redirecting stderr to stdout with 2>&1 should make the check work for all versions of netcat:

if nc -h 2>&1 | grep -q ncat;then

instead of current

if nc -h | grep -q ncat;then

The feature check for "ncat" only works on CentOS 7, on other distributions it leads to full netcat help output being written to the error log instead.

This is due to the nc version in CentOS 7 writing help output to stdout, while the version in CentOS 6, and in Ubuntu 16.04, write to stderr instead.



 Comments   
Comment by Hartmut Holzgraefe [ 2016-09-21 ]

Proposed fix:

diff --git a/scripts/wsrep_sst_xtrabackup-v2.sh b/scripts/wsrep_sst_xtrabackup-v2.sh
index a836d5e..6e7dde3 100644
--- a/scripts/wsrep_sst_xtrabackup-v2.sh
+++ b/scripts/wsrep_sst_xtrabackup-v2.sh
@@ -176,7 +176,7 @@ get_transfer()
         fi
         wsrep_log_info "Using netcat as streamer"
         if [[ "$WSREP_SST_OPT_ROLE"  == "joiner" ]];then
-            if nc -h | grep -q ncat;then 
+            if nc -h 2>&1 | grep -q ncat;then 
                 tcmd="nc -l ${TSST_PORT}"
             else 
                 tcmd="nc -dl ${TSST_PORT}"
diff --git a/scripts/wsrep_sst_xtrabackup.sh b/scripts/wsrep_sst_xtrabackup.sh
index 2247ede..816c53e 100644
--- a/scripts/wsrep_sst_xtrabackup.sh
+++ b/scripts/wsrep_sst_xtrabackup.sh
@@ -149,7 +149,7 @@ get_transfer()
         fi
         wsrep_log_info "Using netcat as streamer"
         if [[ "$WSREP_SST_OPT_ROLE"  == "joiner" ]];then
-            if nc -h | grep -q ncat;then 
+            if nc -h 2>&1 | grep -q ncat;then 
                 tcmd="nc -l ${TSST_PORT}"
             else 
                 tcmd="nc -dl ${TSST_PORT}"

Generated at Thu Feb 08 07:45:26 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.