Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
97695675
Commit
97695675
authored
Dec 24, 2021
by
Julius Goryavsky
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 10.2 into 10.3
parents
3376668c
b5cbe506
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
214 additions
and
214 deletions
+214
-214
mysql-test/suite/galera/disabled.def
mysql-test/suite/galera/disabled.def
+0
-2
mysql-test/suite/galera_3nodes/r/galera_ist_gcache_rollover.result
...t/suite/galera_3nodes/r/galera_ist_gcache_rollover.result
+2
-2
mysql-test/suite/galera_3nodes/t/galera_ist_gcache_rollover.test
...est/suite/galera_3nodes/t/galera_ist_gcache_rollover.test
+6
-4
scripts/wsrep_sst_common.sh
scripts/wsrep_sst_common.sh
+95
-47
scripts/wsrep_sst_mariabackup.sh
scripts/wsrep_sst_mariabackup.sh
+42
-67
scripts/wsrep_sst_rsync.sh
scripts/wsrep_sst_rsync.sh
+69
-92
No files found.
mysql-test/suite/galera/disabled.def
View file @
97695675
...
@@ -28,5 +28,3 @@ query_cache: MDEV-15805 Test failure on galera.query_cache
...
@@ -28,5 +28,3 @@ query_cache: MDEV-15805 Test failure on galera.query_cache
versioning_trx_id: MDEV-18590: galera.versioning_trx_id: Test failure: mysqltest: Result content mismatch
versioning_trx_id: MDEV-18590: galera.versioning_trx_id: Test failure: mysqltest: Result content mismatch
galera_wsrep_provider_unset_set: wsrep_provider is read-only for security reasons
galera_wsrep_provider_unset_set: wsrep_provider is read-only for security reasons
pxc-421: wsrep_provider is read-only for security reasons
pxc-421: wsrep_provider is read-only for security reasons
galera_sst_xtrabackup-v2: Test fails due to innodb issues
galera_sst_xtrabackup-v2_data_dir: Test fails due to innodb issues
mysql-test/suite/galera_3nodes/r/galera_ist_gcache_rollover.result
View file @
97695675
...
@@ -6,10 +6,10 @@ CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
...
@@ -6,10 +6,10 @@ CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
INSERT INTO t1 VALUES (01), (02), (03), (04), (05);
INSERT INTO t1 VALUES (01), (02), (03), (04), (05);
connection node_2;
connection node_2;
Unloading wsrep provider ...
Unloading wsrep provider ...
SET GLOBAL wsrep_
provider = 'none
';
SET GLOBAL wsrep_
cluster_address = '
';
connection node_3;
connection node_3;
Unloading wsrep provider ...
Unloading wsrep provider ...
SET GLOBAL wsrep_
provider = 'none
';
SET GLOBAL wsrep_
cluster_address = '
';
connection node_1;
connection node_1;
INSERT INTO t1 VALUES (11), (12), (13), (14), (15);
INSERT INTO t1 VALUES (11), (12), (13), (14), (15);
INSERT INTO t1 VALUES (21), (22), (23), (24), (25);
INSERT INTO t1 VALUES (21), (22), (23), (24), (25);
...
...
mysql-test/suite/galera_3nodes/t/galera_ist_gcache_rollover.test
View file @
97695675
...
@@ -29,9 +29,11 @@ INSERT INTO t1 VALUES (01), (02), (03), (04), (05);
...
@@ -29,9 +29,11 @@ INSERT INTO t1 VALUES (01), (02), (03), (04), (05);
# Disconnect nodes #2 and #3
# Disconnect nodes #2 and #3
--
connection
node_2
--
connection
node_2
--
let
$wsrep_cluster_address_orig2
=
`select @@wsrep_cluster_address`
--
source
suite
/
galera
/
include
/
galera_stop_replication
.
inc
--
source
suite
/
galera
/
include
/
galera_stop_replication
.
inc
--
connection
node_3
--
connection
node_3
--
let
$wsrep_cluster_address_orig3
=
`select @@wsrep_cluster_address`
--
source
suite
/
galera
/
include
/
galera_stop_replication
.
inc
--
source
suite
/
galera
/
include
/
galera_stop_replication
.
inc
--
connection
node_1
--
connection
node_1
...
@@ -51,8 +53,8 @@ INSERT INTO t1 VALUES (21), (22), (23), (24), (25);
...
@@ -51,8 +53,8 @@ INSERT INTO t1 VALUES (21), (22), (23), (24), (25);
# ... and restart providers to force IST
# ... and restart providers to force IST
--
connection
node_2
--
connection
node_2
--
disable_query_log
--
disable_query_log
--
eval
SET
GLOBAL
wsrep_provider
=
'$wsrep_provider_orig
'
;
SET
GLOBAL
wsrep_cluster_address
=
'
'
;
--
eval
SET
GLOBAL
wsrep_cluster_address
=
'$wsrep_cluster_address_orig'
;
--
eval
SET
GLOBAL
wsrep_cluster_address
=
'$wsrep_cluster_address_orig
2
'
;
--
enable_query_log
--
enable_query_log
--
connection
node_1
--
connection
node_1
...
@@ -60,8 +62,8 @@ INSERT INTO t1 VALUES (31), (32), (33), (34), (35);
...
@@ -60,8 +62,8 @@ INSERT INTO t1 VALUES (31), (32), (33), (34), (35);
--
connection
node_3
--
connection
node_3
--
disable_query_log
--
disable_query_log
--
eval
SET
GLOBAL
wsrep_provider
=
'$wsrep_provider_orig
'
;
SET
GLOBAL
wsrep_cluster_address
=
'
'
;
--
eval
SET
GLOBAL
wsrep_cluster_address
=
'$wsrep_cluster_address_orig'
;
--
eval
SET
GLOBAL
wsrep_cluster_address
=
'$wsrep_cluster_address_orig
3
'
;
--
enable_query_log
--
enable_query_log
--
connection
node_1
--
connection
node_1
...
...
scripts/wsrep_sst_common.sh
View file @
97695675
...
@@ -17,7 +17,7 @@
...
@@ -17,7 +17,7 @@
# This is a common command line parser to be sourced by other SST scripts
# This is a common command line parser to be sourced by other SST scripts
set
-u
set
-u
e
# Setting the path for some utilities on CentOS
# Setting the path for some utilities on CentOS
export
PATH
=
"
$PATH
:/usr/sbin:/usr/bin:/sbin:/bin"
export
PATH
=
"
$PATH
:/usr/sbin:/usr/bin:/sbin:/bin"
...
@@ -879,9 +879,9 @@ fi
...
@@ -879,9 +879,9 @@ fi
wsrep_cleanup_progress_file
()
wsrep_cleanup_progress_file
()
{
{
[
-n
"
$SST_PROGRESS_FILE
"
-a
\
if
[
-n
"
$SST_PROGRESS_FILE
"
-a
-f
"
$SST_PROGRESS_FILE
"
]
;
then
-f
"
$SST_PROGRESS_FILE
"
]
&&
\
rm
-f
"
$SST_PROGRESS_FILE
"
2>/dev/null
||
:
rm
-f
"
$SST_PROGRESS_FILE
"
2>/dev/null
||
:
fi
}
}
wsrep_check_program
()
wsrep_check_program
()
...
@@ -897,13 +897,10 @@ wsrep_check_program()
...
@@ -897,13 +897,10 @@ wsrep_check_program()
wsrep_check_programs
()
wsrep_check_programs
()
{
{
local
ret
=
0
local
ret
=
0
while
[
$#
-gt
0
]
;
do
while
[
$#
-gt
0
]
do
wsrep_check_program
"
$1
"
||
ret
=
$?
wsrep_check_program
"
$1
"
||
ret
=
$?
shift
shift
done
done
return
$ret
return
$ret
}
}
...
@@ -1028,11 +1025,11 @@ check_sockets_utils()
...
@@ -1028,11 +1025,11 @@ check_sockets_utils()
#
#
check_port
()
check_port
()
{
{
local
pid
=
"
$
1
"
local
pid
=
"
$
{
1
:-
0
}
"
local
port
=
"
$2
"
local
port
=
"
$2
"
local
utils
=
"
$3
"
local
utils
=
"
$3
"
[
-z
"
$pid
"
]
||
[
$pid
-eq
0
]
&&
pid
=
'[0-9]+'
[
$pid
-le
0
]
&&
pid
=
'[0-9]+'
local
rc
=
1
local
rc
=
1
...
@@ -1070,14 +1067,20 @@ check_for_dhparams()
...
@@ -1070,14 +1067,20 @@ check_for_dhparams()
if
[
!
-r
"
$ssl_dhparams
"
]
;
then
if
[
!
-r
"
$ssl_dhparams
"
]
;
then
get_openssl
get_openssl
if
[
-n
"
$OPENSSL_BINARY
"
]
;
then
if
[
-n
"
$OPENSSL_BINARY
"
]
;
then
wsrep_log_info
"Could not find dhparams file, creating
$ssl_dhparams
"
wsrep_log_info
\
if
!
"
$OPENSSL_BINARY
"
dhparam
-out
"
$ssl_dhparams
"
2048
>
/dev/null 2>&1
"Could not find dhparams file, creating
$ssl_dhparams
"
then
local
bug
=
0
local
errmsg
errmsg
=
$(
"
$OPENSSL_BINARY
"
\
dhparam
-out
"
$ssl_dhparams
"
2048 2>&1
)
||
bug
=
1
if
[
$bug
-ne
0
]
;
then
wsrep_log_info
"run:
\"
$OPENSSL_BINARY
\"
dhparam -out
\"
$ssl_dhparams
\"
2048"
wsrep_log_info
"output:
$errmsg
"
wsrep_log_error
"******** ERROR *****************************************"
wsrep_log_error
"******** ERROR *****************************************"
wsrep_log_error
"* Could not create the dhparams.pem file with OpenSSL. *"
wsrep_log_error
"* Could not create the dhparams.pem file with OpenSSL. *"
wsrep_log_error
"********************************************************"
wsrep_log_error
"********************************************************"
ssl_dhparams
=
""
ssl_dhparams
=
""
fi
fi
else
else
# Rollback: if openssl is not installed, then use
# Rollback: if openssl is not installed, then use
# the default parameters:
# the default parameters:
...
@@ -1099,17 +1102,9 @@ verify_ca_matches_cert()
...
@@ -1099,17 +1102,9 @@ verify_ca_matches_cert()
local
ca
=
"
$2
"
local
ca
=
"
$2
"
local
cap
=
"
$3
"
local
cap
=
"
$3
"
# If the openssl utility is not installed, then
# we will not do this certificate check:
get_openssl
if
[
-z
"
$OPENSSL_BINARY
"
]
;
then
wsrep_log_info
"openssl utility not found"
return
fi
local
readable
=
1
;
[
!
-r
"
$cert
"
]
&&
readable
=
0
local
readable
=
1
;
[
!
-r
"
$cert
"
]
&&
readable
=
0
[
-n
"
$ca
"
]
&&
[
!
-r
"
$ca
"
]
&&
readable
=
0
[
-n
"
$ca
"
-a
!
-r
"
$ca
"
]
&&
readable
=
0
[
-n
"
$cap
"
]
&&
[
!
-r
"
$cap
"
]
&&
readable
=
0
[
-n
"
$cap
"
-a
!
-r
"
$cap
"
]
&&
readable
=
0
if
[
$readable
-eq
0
]
;
then
if
[
$readable
-eq
0
]
;
then
wsrep_log_error
\
wsrep_log_error
\
...
@@ -1117,12 +1112,20 @@ verify_ca_matches_cert()
...
@@ -1117,12 +1112,20 @@ verify_ca_matches_cert()
exit
22
exit
22
fi
fi
# If the openssl utility is not installed, then
# we will not do this certificate check:
get_openssl
if
[
-z
"
$OPENSSL_BINARY
"
]
;
then
wsrep_log_info
"openssl utility not found"
return
fi
local
not_match
=
0
local
not_match
=
0
local
errmsg
local
errmsg
errmsg
=
$(
"
$OPENSSL_BINARY
"
verify
-verbose
\
errmsg
=
$(
"
$OPENSSL_BINARY
"
verify
-verbose
\
${
ca
:+
-CAfile
}
${
ca
:+
"
$ca
"
}
\
${
ca
:+
-CAfile
}
${
ca
:+
"
$ca
"
}
\
${
cap
:+
-CApath
}
${
cap
:+
"
$cap
"
}
\
${
cap
:+
-CApath
}
${
cap
:+
"
$cap
"
}
\
"
$cert
"
2>&1
)
||
not_match
=
1
"
$cert
"
2>&1
)
||
not_match
=
1
if
[
$not_match
-eq
1
]
;
then
if
[
$not_match
-eq
1
]
;
then
wsrep_log_info
"run:
\"
$OPENSSL_BINARY
\"
verify -verbose
${
ca
:+
-CAfile \
"
$ca
\"
}
${
cap
:+
-CApath \
"
$cap
\"
}
\"
$cert
\"
"
wsrep_log_info
"run:
\"
$OPENSSL_BINARY
\"
verify -verbose
${
ca
:+
-CAfile \
"
$ca
\"
}
${
cap
:+
-CApath \
"
$cap
\"
}
\"
$cert
\"
"
...
@@ -1158,6 +1161,7 @@ verify_cert_matches_key()
...
@@ -1158,6 +1161,7 @@ verify_cert_matches_key()
# If the diff utility is not installed, then
# If the diff utility is not installed, then
# we will not do this certificate check:
# we will not do this certificate check:
if [ -z "
$(
commandex diff
)
" ]; then
if [ -z "
$(
commandex diff
)
" ]; then
wsrep_log_info "
diff
utility not found
"
return
return
fi
fi
...
@@ -1165,6 +1169,7 @@ verify_cert_matches_key()
...
@@ -1165,6 +1169,7 @@ verify_cert_matches_key()
# we will not do this certificate check:
# we will not do this certificate check:
get_openssl
get_openssl
if [ -z "
$OPENSSL_BINARY
" ]; then
if [ -z "
$OPENSSL_BINARY
" ]; then
wsrep_log_info "
openssl
utility not found
"
return
return
fi
fi
...
@@ -1253,18 +1258,18 @@ check_pid()
...
@@ -1253,18 +1258,18 @@ check_pid()
{
{
local pid_file="
$1
"
local pid_file="
$1
"
if [ -r "
$pid_file
" ]; then
if [ -r "
$pid_file
" ]; then
local pid=
$(
cat
"
$pid_file
"
2>/dev/null
)
local pid=
$(
cat
"
$pid_file
"
2>/dev/null
||
:
)
if [ -n "
$pid
" ]; then
if [ -n "
$pid
" ]; then
if [
$pid
-
ne
0 ]; then
if [
$pid
-
gt
0 ]; then
if ps -p
"
$pid
"
>/dev/null 2>&1; then
if ps -p
$pid
>/dev/null 2>&1; then
CHECK_PID=
$pid
CHECK_PID=
$pid
return 0
return 0
fi
fi
fi
fi
fi
fi
local remove=
${
2
:-
0
}
local remove=
${
2
:-
0
}
if [
$remove
-
eq 1
]; then
if [
$remove
-
ne 0
]; then
rm -f "
$pid_file
"
rm -f "
$pid_file
"
|| :
fi
fi
fi
fi
CHECK_PID=0
CHECK_PID=0
...
@@ -1289,25 +1294,25 @@ cleanup_pid()
...
@@ -1289,25 +1294,25 @@ cleanup_pid()
local pid_file="
${
2
:-}
"
local pid_file="
${
2
:-}
"
local config="
${
3
:-}
"
local config="
${
3
:-}
"
if [
$pid
-
ne
0 ]; then
if [
$pid
-
gt
0 ]; then
if ps -p
$pid
>/dev/null 2>&1; then
if ps -p
$pid
>/dev/null 2>&1; then
if kill
$pid
>/dev/null 2>&1; then
if kill
$pid
>/dev/null 2>&1; then
sleep 0.5
sleep 0.5
local round=0
local round=0
local force=0
local force=0
while ps -p
$pid
>/dev/null 2>&1; do
while ps -p
$pid
>/dev/null 2>&1; do
sleep 1
sleep 1
round=
$((
round+1
))
round=
$((
round+1
))
if [
$round
-eq 16 ]; then
if [
$round
-eq 16 ]; then
if [
$force
-eq 0 ]; then
if [
$force
-eq 0 ]; then
round=8
round=8
force=1
force=1
kill -9
$pid
>/dev/null 2>&1
kill -9
$pid
>/dev/null 2>&1 || :
sleep 0.5
sleep 0.5
else
else
return 1
return 1
fi
fi
fi
fi
done
done
elif ps -p
$pid
>/dev/null 2>&1; then
elif ps -p
$pid
>/dev/null 2>&1; then
wsrep_log_warning "
Unable
to kill PID=
$pid
(
$pid_file
)
"
wsrep_log_warning "
Unable
to kill PID=
$pid
(
$pid_file
)
"
...
@@ -1316,8 +1321,8 @@ cleanup_pid()
...
@@ -1316,8 +1321,8 @@ cleanup_pid()
fi
fi
fi
fi
[ -n "
$pid_file
"
] && [ -f "
$pid_file
" ] && rm -f "
$pid_file
"
[ -n "
$pid_file
"
-a -f "
$pid_file
" ] && rm -f "
$pid_file
" || :
[ -n "
$config
"
] && [ -f "
$config
" ] && rm -f "
$config
"
[ -n "
$config
"
-a -f "
$config
" ] && rm -f "
$config
" || :
return 0
return 0
}
}
...
@@ -1339,3 +1344,46 @@ get_proc()
...
@@ -1339,3 +1344,46 @@ get_proc()
fi
fi
fi
fi
}
}
check_server_ssl_config()
{
# backward-compatible behavior:
tcert=
$(
parse_cnf
'sst'
'tca'
)
tcap=
$(
parse_cnf
'sst'
'tcapath'
)
tpem=
$(
parse_cnf
'sst'
'tcert'
)
tkey=
$(
parse_cnf
'sst'
'tkey'
)
# reading new ssl configuration options:
local tcert2=
$(
parse_cnf
"
$encgroups
"
'ssl-ca'
)
local tcap2=
$(
parse_cnf
"
$encgroups
"
'ssl-capath'
)
local tpem2=
$(
parse_cnf
"
$encgroups
"
'ssl-cert'
)
local tkey2=
$(
parse_cnf
"
$encgroups
"
'ssl-key'
)
# if there are no old options, then we take new ones:
if [ -z "
$tcert
" -a -z "
$tcap
" -a -z "
$tpem
" -a -z "
$tkey
" ]; then
tcert="
$tcert2
"
tcap="
$tcap2
"
tpem="
$tpem2
"
tkey="
$tkey2
"
# checking for presence of the new-style SSL configuration:
elif [ -n "
$tcert2
" -o -n "
$tcap2
" -o -n "
$tpem2
" -o -n "
$tkey2
" ]; then
if [ "
$tcert
" != "
$tcert2
" -o
\
"
$tcap
" != "
$tcap2
" -o
\
"
$tpem
" != "
$tpem2
" -o
\
"
$tkey
" != "
$tkey2
" ]
then
wsrep_log_info
\
"
new
ssl configuration options (ssl-ca[path], ssl-cert
"
\
"
and
ssl-key) are ignored by SST due to presence
"
\
"
of
the tca[path], tcert and/or tkey in the [sst] section
"
fi
fi
if [ -n "
$tcert
" ]; then
tcert=
$(
trim_string
"
$tcert
"
)
if [ "
${
tcert
%/
}
" != "
$tcert
" -o -d "
$tcert
" ]; then
tcap="
$tcert
"
tcert=""
fi
fi
if [ -n "
$tcap
" ]; then
tcap=
$(
trim_string
"
$tcap
"
)
fi
}
scripts/wsrep_sst_mariabackup.sh
View file @
97695675
...
@@ -30,7 +30,6 @@ eformat=""
...
@@ -30,7 +30,6 @@ eformat=""
ekey
=
""
ekey
=
""
ekeyfile
=
""
ekeyfile
=
""
encrypt
=
0
encrypt
=
0
ecode
=
0
ssyslog
=
""
ssyslog
=
""
ssystag
=
""
ssystag
=
""
BACKUP_PID
=
""
BACKUP_PID
=
""
...
@@ -465,49 +464,6 @@ adjust_progress()
...
@@ -465,49 +464,6 @@ adjust_progress()
encgroups
=
'--mysqld|sst|xtrabackup'
encgroups
=
'--mysqld|sst|xtrabackup'
check_server_ssl_config
()
{
# backward-compatible behavior:
tcert
=
$(
parse_cnf
'sst'
'tca'
)
tcap
=
$(
parse_cnf
'sst'
'tcapath'
)
tpem
=
$(
parse_cnf
'sst'
'tcert'
)
tkey
=
$(
parse_cnf
'sst'
'tkey'
)
# reading new ssl configuration options:
local
tcert2
=
$(
parse_cnf
"
$encgroups
"
'ssl-ca'
)
local
tcap2
=
$(
parse_cnf
"
$encgroups
"
'ssl-capath'
)
local
tpem2
=
$(
parse_cnf
"
$encgroups
"
'ssl-cert'
)
local
tkey2
=
$(
parse_cnf
"
$encgroups
"
'ssl-key'
)
# if there are no old options, then we take new ones:
if
[
-z
"
$tcert
"
-a
-z
"
$tcap
"
-a
-z
"
$tpem
"
-a
-z
"
$tkey
"
]
;
then
tcert
=
"
$tcert2
"
tcap
=
"
$tcap2
"
tpem
=
"
$tpem2
"
tkey
=
"
$tkey2
"
# checking for presence of the new-style SSL configuration:
elif
[
-n
"
$tcert2
"
-o
-n
"
$tcap2
"
-o
-n
"
$tpem2
"
-o
-n
"
$tkey2
"
]
;
then
if
[
"
$tcert
"
!=
"
$tcert2
"
-o
\
"
$tcap
"
!=
"
$tcap2
"
-o
\
"
$tpem
"
!=
"
$tpem2
"
-o
\
"
$tkey
"
!=
"
$tkey2
"
]
then
wsrep_log_info
\
"new ssl configuration options (ssl-ca[path], ssl-cert"
\
"and ssl-key) are ignored by SST due to presence"
\
"of the tca[path], tcert and/or tkey in the [sst] section"
fi
fi
if
[
-n
"
$tcert
"
]
;
then
tcert
=
$(
trim_string
"
$tcert
"
)
if
[
"
${
tcert
%/
}
"
!=
"
$tcert
"
]
||
[
-d
"
$tcert
"
]
;
then
tcap
=
"
$tcert
"
tcert
=
""
fi
fi
if
[
-n
"
$tcap
"
]
;
then
tcap
=
$(
trim_string
"
$tcap
"
)
fi
}
read_cnf
()
read_cnf
()
{
{
sfmt
=
$(
parse_cnf sst streamfmt
'mbstream'
)
sfmt
=
$(
parse_cnf sst streamfmt
'mbstream'
)
...
@@ -647,7 +603,7 @@ cleanup_at_exit()
...
@@ -647,7 +603,7 @@ cleanup_at_exit()
cleanup_pid
$CHECK_PID
"
$BACKUP_PID
"
cleanup_pid
$CHECK_PID
"
$BACKUP_PID
"
fi
fi
fi
fi
[
-f
"
$DATA
/
$IST_FILE
"
]
&&
rm
-f
"
$DATA
/
$IST_FILE
"
[
-f
"
$DATA
/
$IST_FILE
"
]
&&
rm
-f
"
$DATA
/
$IST_FILE
"
||
:
fi
fi
if
[
-n
"
$progress
"
-a
-p
"
$progress
"
]
;
then
if
[
-n
"
$progress
"
-a
-p
"
$progress
"
]
;
then
...
@@ -658,27 +614,31 @@ cleanup_at_exit()
...
@@ -658,27 +614,31 @@ cleanup_at_exit()
wsrep_log_info
"Cleaning up temporary directories"
wsrep_log_info
"Cleaning up temporary directories"
if
[
"
$WSREP_SST_OPT_ROLE
"
=
'joiner'
]
;
then
if
[
"
$WSREP_SST_OPT_ROLE
"
=
'joiner'
]
;
then
if
[
-n
"
$STATDIR
"
]
;
then
[
-n
"
$STATDIR
"
-a
-d
"
$STATDIR
"
]
&&
rm
-rf
"
$STATDIR
"
||
:
[
-d
"
$STATDIR
"
]
&&
rm
-rf
"
$STATDIR
"
fi
else
else
[
-n
"
$xtmpdir
"
-a
-d
"
$xtmpdir
"
]
&&
rm
-rf
"
$xtmpdir
"
||
:
[
-n
"
$xtmpdir
"
-a
-d
"
$xtmpdir
"
]
&&
rm
-rf
"
$xtmpdir
"
||
:
[
-n
"
$itmpdir
"
-a
-d
"
$itmpdir
"
]
&&
rm
-rf
"
$itmpdir
"
||
:
[
-n
"
$itmpdir
"
-a
-d
"
$itmpdir
"
]
&&
rm
-rf
"
$itmpdir
"
||
:
fi
fi
# Final cleanup
# Final cleanup
pgid
=
$(
ps
-o
pgid
=
$$
|
grep
-o
'[0-9]*'
)
pgid
=
$(
ps
-o
pgid
=
$$
2>/dev/null |
grep
-o
'[0-9]*'
||
:
)
# This means no setsid done in mysqld.
# This means no setsid done in mysqld.
# We don't want to kill mysqld here otherwise.
# We don't want to kill mysqld here otherwise.
if
[
$$
-eq
$pgid
]
;
then
if
[
-n
"
$pgid
"
]
;
then
# This means a signal was delivered to the process.
if
[
$$
-eq
$pgid
]
;
then
# So, more cleanup.
# This means a signal was delivered to the process.
if
[
$estatus
-ge
128
]
;
then
# So, more cleanup.
kill
-KILL
--
-
$$
||
:
if
[
$estatus
-ge
128
]
;
then
kill
-KILL
--
-
$$
||
:
fi
fi
fi
fi
fi
if
[
-n
"
${
SST_PID
:-}
"
]
;
then
[
-f
"
$SST_PID
"
]
&&
rm
-f
"
$SST_PID
"
||
:
fi
exit
$estatus
exit
$estatus
}
}
...
@@ -967,7 +927,7 @@ setup_commands()
...
@@ -967,7 +927,7 @@ setup_commands()
fi
fi
INNOAPPLY
=
"
$BACKUP_BIN
--prepare
$disver$recovery
${
iapts
:+
}
$iapts$INNOEXTRA
--target-dir='
$DATA
' --datadir='
$DATA
'
$mysqld_args
$INNOAPPLY
"
INNOAPPLY
=
"
$BACKUP_BIN
--prepare
$disver$recovery
${
iapts
:+
}
$iapts$INNOEXTRA
--target-dir='
$DATA
' --datadir='
$DATA
'
$mysqld_args
$INNOAPPLY
"
INNOMOVE
=
"
$BACKUP_BIN$WSREP_SST_OPT_CONF
--move-back
$disver
${
impts
:+
}
$impts
--force-non-empty-directories --target-dir='
$DATA
' --datadir='
${
TDATA
:-
$DATA
}
'
$INNOMOVE
"
INNOMOVE
=
"
$BACKUP_BIN$WSREP_SST_OPT_CONF
--move-back
$disver
${
impts
:+
}
$impts
--force-non-empty-directories --target-dir='
$DATA
' --datadir='
${
TDATA
:-
$DATA
}
'
$INNOMOVE
"
INNOBACKUP
=
"
$BACKUP_BIN$WSREP_SST_OPT_CONF
--backup
$disver
${
iopts
:+
}
$iopts
$tmpopts$INNOEXTRA
--galera-info --stream=
$sfmt
--target-dir='
$itmpdir
' --datadir='
$DATA
'
$mysqld_args
$INNOBACKUP
"
INNOBACKUP
=
"
$BACKUP_BIN$WSREP_SST_OPT_CONF
--backup
$disver
${
iopts
:+
}
$iopts$tmpopts$INNOEXTRA
--galera-info --stream=
$sfmt
--target-dir='
$itmpdir
' --datadir='
$DATA
'
$mysqld_args
$INNOBACKUP
"
}
}
get_stream
get_stream
...
@@ -995,7 +955,7 @@ then
...
@@ -995,7 +955,7 @@ then
fi
fi
wsrep_log_info
"Using '
$xtmpdir
' as mariabackup temporary directory"
wsrep_log_info
"Using '
$xtmpdir
' as mariabackup temporary directory"
tmpopts
=
"--tmpdir='
$xtmpdir
'"
tmpopts
=
"
--tmpdir='
$xtmpdir
'"
itmpdir
=
"
$(
mktemp
-d
)
"
itmpdir
=
"
$(
mktemp
-d
)
"
wsrep_log_info
"Using '
$itmpdir
' as mariabackup working directory"
wsrep_log_info
"Using '
$itmpdir
' as mariabackup working directory"
...
@@ -1161,10 +1121,23 @@ then
...
@@ -1161,10 +1121,23 @@ then
impts
=
"--parallel=
$backup_threads
${
impts
:+
}
$impts
"
impts
=
"--parallel=
$backup_threads
${
impts
:+
}
$impts
"
fi
fi
stagemsg
=
'Joiner-Recv'
SST_PID
=
"
$WSREP_SST_OPT_DATA
/wsrep_sst.pid"
# give some time for previous SST to complete:
check_round
=
0
while
check_pid
"
$SST_PID
"
0
;
do
wsrep_log_info
"previous SST is not completed, waiting for it to exit"
check_round
=
$((
check_round
+
1
))
if
[
$check_round
-eq
10
]
;
then
wsrep_log_error
"previous SST script still running."
exit
114
# EALREADY
fi
sleep
1
done
echo
$$
>
"
$SST_PID
"
sencrypted
=
1
stagemsg
=
'Joiner-Recv'
nthreads
=
1
MODULE
=
"xtrabackup_sst"
MODULE
=
"xtrabackup_sst"
...
@@ -1208,7 +1181,7 @@ then
...
@@ -1208,7 +1181,7 @@ then
fi
fi
get_keys
get_keys
if
[
$encrypt
-eq
1
-a
$sencrypted
-eq
1
]
;
then
if
[
$encrypt
-eq
1
]
;
then
strmcmd
=
"
$ecmd
|
$strmcmd
"
strmcmd
=
"
$ecmd
|
$strmcmd
"
fi
fi
...
@@ -1263,12 +1236,14 @@ then
...
@@ -1263,12 +1236,14 @@ then
if
[
-n
"
$WSREP_SST_OPT_BINLOG
"
]
;
then
if
[
-n
"
$WSREP_SST_OPT_BINLOG
"
]
;
then
binlog_dir
=
$(
dirname
"
$WSREP_SST_OPT_BINLOG
"
)
binlog_dir
=
$(
dirname
"
$WSREP_SST_OPT_BINLOG
"
)
cd
"
$binlog_dir
"
if
[
-d
"
$binlog_dir
"
]
;
then
wsrep_log_info
"Cleaning the binlog directory
$binlog_dir
as well"
cd
"
$binlog_dir
"
rm
-fv
"
$WSREP_SST_OPT_BINLOG
"
.[0-9]
*
1>&2
\+
||
:
wsrep_log_info
"Cleaning the binlog directory
$binlog_dir
as well"
[
-f
"
$WSREP_SST_OPT_BINLOG_INDEX
"
]
&&
\
rm
-fv
"
$WSREP_SST_OPT_BINLOG
"
.[0-9]
*
1>&2
\+
||
:
rm
-fv
"
$WSREP_SST_OPT_BINLOG_INDEX
"
1>&2
\+
||
:
[
-f
"
$WSREP_SST_OPT_BINLOG_INDEX
"
]
&&
\
cd
"
$OLD_PWD
"
rm
-fv
"
$WSREP_SST_OPT_BINLOG_INDEX
"
1>&2
\+
cd
"
$OLD_PWD
"
fi
fi
fi
TDATA
=
"
$DATA
"
TDATA
=
"
$DATA
"
...
@@ -1285,7 +1260,7 @@ then
...
@@ -1285,7 +1260,7 @@ then
fi
fi
# Compact backups are not supported by mariabackup
# Compact backups are not supported by mariabackup
if
grep
-q
-F
'compact = 1'
"
$DATA
/xtrabackup_checkpoints"
;
then
if
grep
-q
w
-F
'compact = 1'
"
$DATA
/xtrabackup_checkpoints"
;
then
wsrep_log_info
"Index compaction detected"
wsrep_log_info
"Index compaction detected"
wsrel_log_error
"Compact backups are not supported by mariabackup"
wsrel_log_error
"Compact backups are not supported by mariabackup"
exit
2
exit
2
...
...
scripts/wsrep_sst_rsync.sh
View file @
97695675
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment