Skip to content

Commit b3863ba

Browse files
Merge pull request #41 from kamil-holubicki/DISTMYSQL-422
DISTMYSQL-422: Intermediate master failover does not work for 8.0.33
2 parents 1754ca9 + 47da86e commit b3863ba

File tree

12 files changed

+33
-7
lines changed

12 files changed

+33
-7
lines changed

go/inst/analysis_dao.go

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import (
2424
"github.com/openark/orchestrator/go/config"
2525
"github.com/openark/orchestrator/go/db"
2626
"github.com/openark/orchestrator/go/process"
27-
"github.com/openark/orchestrator/go/raft"
27+
orcraft "github.com/openark/orchestrator/go/raft"
2828
"github.com/openark/orchestrator/go/util"
2929

3030
"github.com/openark/golib/log"
@@ -73,7 +73,10 @@ func GetReplicationAnalysis(clusterName string, hints *ReplicationAnalysisHints)
7373
SUM(
7474
replica_instance.last_checked <= replica_instance.last_seen
7575
AND replica_instance.slave_io_running = 0
76-
AND replica_instance.last_io_error like '%error %connecting to master%'
76+
AND (
77+
replica_instance.last_io_error like '%error %connecting to master%'
78+
OR replica_instance.last_io_error like '%error %connecting to source%'
79+
)
7780
AND replica_instance.slave_sql_running = 1
7881
),
7982
0
@@ -109,7 +112,10 @@ func GetReplicationAnalysis(clusterName string, hints *ReplicationAnalysisHints)
109112
MIN(
110113
master_instance.slave_sql_running = 1
111114
AND master_instance.slave_io_running = 0
112-
AND master_instance.last_io_error like '%error %connecting to master%'
115+
AND (
116+
master_instance.last_io_error like '%error %connecting to master%'
117+
OR master_instance.last_io_error like '%error %connecting to source%'
118+
)
113119
)
114120
/* AS is_failing_to_connect_to_master */
115121
)
@@ -210,7 +216,10 @@ func GetReplicationAnalysis(clusterName string, hints *ReplicationAnalysisHints)
210216
SUM(
211217
replica_instance.last_checked <= replica_instance.last_seen
212218
AND replica_instance.slave_io_running = 0
213-
AND replica_instance.last_io_error like '%%error %%connecting to master%%'
219+
AND (
220+
replica_instance.last_io_error like '%%error %%connecting to master%%'
221+
OR replica_instance.last_io_error like '%%error %%connecting to source%%'
222+
)
214223
AND replica_instance.slave_sql_running = 1
215224
),
216225
0
@@ -226,7 +235,10 @@ func GetReplicationAnalysis(clusterName string, hints *ReplicationAnalysisHints)
226235
MIN(
227236
master_instance.slave_sql_running = 1
228237
AND master_instance.slave_io_running = 0
229-
AND master_instance.last_io_error like '%%error %%connecting to master%%'
238+
AND (
239+
master_instance.last_io_error like '%%error %%connecting to master%%'
240+
OR master_instance.last_io_error like '%%error %%connecting to source%%'
241+
)
230242
) AS is_failing_to_connect_to_master,
231243
MIN(
232244
master_downtime.downtime_active is not null

run/test-integration.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export CI_ENV_REPO=
77
export CI_ENV_BRANCH=
88

99
# Configure test run parameters
10-
export TARBALL_URL=https://downloads.percona.com/downloads/Percona-Server-8.0/Percona-Server-8.0.26-16/binary/tarball/Percona-Server-8.0.26-16-Linux.x86_64.glibc2.12-minimal.tar.gz
10+
export TARBALL_URL=https://downloads.percona.com/downloads/Percona-Server-8.0/Percona-Server-8.0.36-28/binary/tarball/Percona-Server-8.0.36-28-Linux.x86_64.glibc2.17-minimal.tar.gz
1111
export RUN_TESTS=YES
1212
export ALLOW_TESTS_FAILURES=YES
1313

run/test-system.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export CI_ENV_REPO=
77
export CI_ENV_BRANCH=
88

99
# Configure test run parameters
10-
export TARBALL_URL=https://downloads.percona.com/downloads/Percona-Server-8.0/Percona-Server-8.0.30-22/binary/tarball/Percona-Server-8.0.30-22-Linux.x86_64.glibc2.17-minimal.tar.gz
10+
export TARBALL_URL=https://downloads.percona.com/downloads/Percona-Server-8.0/Percona-Server-8.0.36-28/binary/tarball/Percona-Server-8.0.36-28-Linux.x86_64.glibc2.17-minimal.tar.gz
1111
export RUN_TESTS=YES
1212
export ALLOW_TESTS_FAILURES=YES
1313

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
-- 22295 replicates from 22294
2+
UPDATE database_instance SET slave_io_running=0, last_io_error='error connecting to source' where master_port=22294;
3+
UPDATE database_instance SET last_seen=last_checked - interval 1 minute where port=22294;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
testhost:22294 (cluster testhost:22293): DeadIntermediateMasterWithSingleReplicaFailingToConnect
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
-c replication-analysis
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
UPDATE database_instance SET slave_io_running=0, last_io_error='error connecting to source' where port=22294;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
testhost:22294 (cluster testhost:22293): FirstTierReplicaFailingToConnectToMaster
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
-c replication-analysis
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
UPDATE database_instance SET last_seen=last_checked - interval 1 minute where port=22293;
2+
UPDATE database_instance SET last_check_partial_success = 1 where port=22293;
3+
UPDATE database_instance SET slave_io_running=0, last_io_error='error connecting to source' where port=22294;

0 commit comments

Comments
 (0)