forked from pool/mariadb
401d035448
- add mariadb-10.2.14-xtrabackup-v2.patch (bsc#1083087) OBS-URL: https://build.opensuse.org/request/show/580660 OBS-URL: https://build.opensuse.org/package/show/server:database/mariadb?expand=0&rev=208
37 lines
1.5 KiB
Diff
37 lines
1.5 KiB
Diff
From 4e6dab94d0931eafba502f5a91da29a54e75bb33 Mon Sep 17 00:00:00 2001
|
|
From: Daniel Black <daniel.black@au1.ibm.com>
|
|
Date: Wed, 21 Feb 2018 19:38:57 +0530
|
|
Subject: [PATCH] MDEV-10.1.31 does not join an existing cluster with SST
|
|
xtrabackup-v2
|
|
|
|
Analysis:- The problem is the change in the implementation of wait_for_listen
|
|
in wsrep_sst_xtrabackup-v2.sh. The new script uses lsof which will always
|
|
exit with an error code if it can't find all the items, and because the
|
|
script has the -e option set in the hashbang line (#!/bin/bash -ue), the
|
|
script will abort right after running lsof if lsof can't find even a single
|
|
item among all the items listed in its arguments. This will happen even if
|
|
socat is running and listening, because it can't find nc. The loop in
|
|
wait_for_listen will therefore always quit after one iteration without
|
|
writing the "ready" line to signal the parent.
|
|
|
|
Solution:- We will or the lsof with true.
|
|
|
|
Patch Credit :Daniel Black and David Wang
|
|
---
|
|
scripts/wsrep_sst_xtrabackup-v2.sh | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/scripts/wsrep_sst_xtrabackup-v2.sh b/scripts/wsrep_sst_xtrabackup-v2.sh
|
|
index 64dd182e2f2f..9104daf19bc3 100644
|
|
--- a/scripts/wsrep_sst_xtrabackup-v2.sh
|
|
+++ b/scripts/wsrep_sst_xtrabackup-v2.sh
|
|
@@ -644,7 +644,7 @@ wait_for_listen()
|
|
|
|
for i in {1..300}
|
|
do
|
|
- LSOF_OUT=$(lsof -sTCP:LISTEN -i TCP:${PORT} -a -c nc -c socat -F c)
|
|
+ LSOF_OUT=$(lsof -sTCP:LISTEN -i TCP:${PORT} -a -c nc -c socat -F c 2> /dev/null || :)
|
|
[ -n "${LSOF_OUT}" ] && break
|
|
sleep 0.2
|
|
done
|