Skip to content

Commit 037e197

Browse files
committed
fix: add || true to all RESULT=$() in retry loops to prevent set -e exit
GitHub Actions run: blocks use set -e implicitly. When mysql returns non-zero inside a retry loop (e.g., database doesn't exist yet), the entire step exits before the retry can continue. Added || true to all 19 RESULT=$() assignments inside retry loops so the non-zero exit code doesn't propagate.
1 parent b2515d7 commit 037e197

File tree

2 files changed

+19
-19
lines changed

2 files changed

+19
-19
lines changed

.github/workflows/integration_tests.yml

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ jobs:
219219
$SBDIR/m -e "CREATE DATABASE ci_test; USE ci_test; CREATE TABLE t1(id INT PRIMARY KEY, val VARCHAR(50)); INSERT INTO t1 VALUES (1, 'mariadb_repl_test');"
220220
# Wait for replication with retries
221221
for i in $(seq 1 10); do
222-
RESULT=$($SBDIR/s1 -BN -e "SELECT val FROM ci_test.t1;" 2>/dev/null)
222+
RESULT=$($SBDIR/s1 -BN -e "SELECT val FROM ci_test.t1;" 2>/dev/null) || true
223223
echo "$RESULT" | grep -q "mariadb_repl_test" && break
224224
echo " Waiting for replication... ($i/10)"
225225
sleep 2
@@ -417,7 +417,7 @@ jobs:
417417
echo "=== Replica 1: read test ==="
418418
# Wait for replication to replica1 with retries
419419
for i in $(seq 1 10); do
420-
RESULT=$(~/sandboxes/postgresql_repl_*/replica1/use -c "SELECT val FROM test_repl;" 2>/dev/null)
420+
RESULT=$(~/sandboxes/postgresql_repl_*/replica1/use -c "SELECT val FROM test_repl;" 2>/dev/null) || true
421421
echo "$RESULT" | grep -q "hello" && break
422422
echo " Waiting for replication to replica1... ($i/10)"
423423
sleep 2
@@ -427,7 +427,7 @@ jobs:
427427
echo "=== Replica 2: read test ==="
428428
# Wait for replication to replica2 with retries
429429
for i in $(seq 1 10); do
430-
RESULT=$(~/sandboxes/postgresql_repl_*/replica2/use -c "SELECT val FROM test_repl;" 2>/dev/null)
430+
RESULT=$(~/sandboxes/postgresql_repl_*/replica2/use -c "SELECT val FROM test_repl;" 2>/dev/null) || true
431431
echo "$RESULT" | grep -q "hello" && break
432432
echo " Waiting for replication to replica2... ($i/10)"
433433
sleep 2
@@ -585,7 +585,7 @@ jobs:
585585
echo "--- Read from node2 (should see replicated data) ---"
586586
# Wait for replication with retries
587587
for i in $(seq 1 10); do
588-
RESULT=$($SBDIR/node2/use -e "SELECT val FROM ic_test.t1;" 2>/dev/null)
588+
RESULT=$($SBDIR/node2/use -e "SELECT val FROM ic_test.t1;" 2>/dev/null) || true
589589
echo "$RESULT" | grep -q "hello_from_primary" && break
590590
echo " Waiting for replication... ($i/10)"
591591
sleep 2
@@ -595,7 +595,7 @@ jobs:
595595
echo "--- Read from node3 ---"
596596
# Wait for replication with retries
597597
for i in $(seq 1 10); do
598-
RESULT=$($SBDIR/node3/use -e "SELECT val FROM ic_test.t1;" 2>/dev/null)
598+
RESULT=$($SBDIR/node3/use -e "SELECT val FROM ic_test.t1;" 2>/dev/null) || true
599599
echo "$RESULT" | grep -q "hello_from_primary" && break
600600
echo " Waiting for replication... ($i/10)"
601601
sleep 2
@@ -610,7 +610,7 @@ jobs:
610610
$SBDIR/node1/use -h 127.0.0.1 -P "$ROUTER_RW_PORT" -e "INSERT INTO ic_test.t1 (val) VALUES ('via_router');"
611611
# Wait for replication with retries
612612
for i in $(seq 1 10); do
613-
RESULT=$($SBDIR/node2/use -e "SELECT val FROM ic_test.t1 WHERE val='via_router';" 2>/dev/null)
613+
RESULT=$($SBDIR/node2/use -e "SELECT val FROM ic_test.t1 WHERE val='via_router';" 2>/dev/null) || true
614614
echo "$RESULT" | grep -q "via_router" && break
615615
echo " Waiting for replication... ($i/10)"
616616
sleep 2
@@ -626,7 +626,7 @@ jobs:
626626
ROUTER_RO_PORT=$(ls $SBDIR/router/mysqlrouter.conf 2>/dev/null && grep -A5 '\[routing:bootstrap_ro\]' $SBDIR/router/mysqlrouter.conf | grep 'bind_port' | awk -F= '{print $2}' | tr -d ' ' || echo "")
627627
if [ -n "$ROUTER_RO_PORT" ]; then
628628
echo "Router R/O port: $ROUTER_RO_PORT"
629-
RESULT=$($SBDIR/node1/use -h 127.0.0.1 -P "$ROUTER_RO_PORT" -e "SELECT val FROM ic_test.t1 WHERE val='hello_from_primary';" 2>&1)
629+
RESULT=$($SBDIR/node1/use -h 127.0.0.1 -P "$ROUTER_RO_PORT" -e "SELECT val FROM ic_test.t1 WHERE val='hello_from_primary';" 2>&1) || true
630630
echo "$RESULT"
631631
echo "$RESULT" | grep -q "hello_from_primary" || { echo "FAIL: SELECT through Router R/O port failed"; exit 1; }
632632
echo "OK: Router R/O SELECT succeeded"
@@ -655,7 +655,7 @@ jobs:
655655
$SBDIR/node1/use -e "CREATE DATABASE skiprt_test; USE skiprt_test; CREATE TABLE t1 (id INT AUTO_INCREMENT PRIMARY KEY, msg TEXT); INSERT INTO t1 (msg) VALUES ('skip_router_test');"
656656
# Wait for replication with retries
657657
for i in $(seq 1 10); do
658-
RESULT=$($SBDIR/node3/use -e "SELECT msg FROM skiprt_test.t1;" 2>/dev/null)
658+
RESULT=$($SBDIR/node3/use -e "SELECT msg FROM skiprt_test.t1;" 2>/dev/null) || true
659659
echo "$RESULT" | grep -q "skip_router_test" && break
660660
echo " Waiting for replication... ($i/10)"
661661
sleep 2
@@ -695,7 +695,7 @@ jobs:
695695
echo "--- Verify on node2 directly ---"
696696
# Wait for replication with retries
697697
for i in $(seq 1 10); do
698-
RESULT=$($SBDIR/node2/use -e "SELECT val FROM proxy_ic_test.t1;" 2>/dev/null)
698+
RESULT=$($SBDIR/node2/use -e "SELECT val FROM proxy_ic_test.t1;" 2>/dev/null) || true
699699
echo "$RESULT" | grep -q "via_proxysql" && break
700700
echo " Waiting for replication... ($i/10)"
701701
sleep 2
@@ -843,7 +843,7 @@ jobs:
843843
$SBDIR/node1/use -e "CREATE DATABASE gr_test; USE gr_test; CREATE TABLE t1 (id INT AUTO_INCREMENT PRIMARY KEY, val VARCHAR(100)); INSERT INTO t1 (val) VALUES ('single_primary_write');"
844844
# Wait for replication to node2 with retries
845845
for i in $(seq 1 10); do
846-
RESULT=$($SBDIR/node2/use -BN -e "SELECT val FROM gr_test.t1;" 2>/dev/null)
846+
RESULT=$($SBDIR/node2/use -BN -e "SELECT val FROM gr_test.t1;" 2>/dev/null) || true
847847
echo "$RESULT" | grep -q "single_primary_write" && break
848848
echo " Waiting for replication... ($i/10)"
849849
sleep 2
@@ -852,7 +852,7 @@ jobs:
852852
echo "$RESULT" | grep -q "single_primary_write" || { echo "FAIL: data not replicated to node2 after 20s"; exit 1; }
853853
# Wait for replication to node3 with retries
854854
for i in $(seq 1 10); do
855-
RESULT=$($SBDIR/node3/use -BN -e "SELECT val FROM gr_test.t1;" 2>/dev/null)
855+
RESULT=$($SBDIR/node3/use -BN -e "SELECT val FROM gr_test.t1;" 2>/dev/null) || true
856856
echo "$RESULT" | grep -q "single_primary_write" && break
857857
echo " Waiting for replication... ($i/10)"
858858
sleep 2
@@ -888,7 +888,7 @@ jobs:
888888
$SBDIR/node1/use -e "CREATE DATABASE gr_mp_test; USE gr_mp_test; CREATE TABLE t1 (id INT AUTO_INCREMENT PRIMARY KEY, val VARCHAR(100)); INSERT INTO t1 (val) VALUES ('write_from_node1');"
889889
# Wait for replication to node3 with retries
890890
for i in $(seq 1 10); do
891-
RESULT=$($SBDIR/node3/use -BN -e "SELECT val FROM gr_mp_test.t1 WHERE val='write_from_node1';" 2>/dev/null)
891+
RESULT=$($SBDIR/node3/use -BN -e "SELECT val FROM gr_mp_test.t1 WHERE val='write_from_node1';" 2>/dev/null) || true
892892
echo "$RESULT" | grep -q "write_from_node1" && break
893893
echo " Waiting for replication... ($i/10)"
894894
sleep 2
@@ -900,7 +900,7 @@ jobs:
900900
$SBDIR/node3/use -e "INSERT INTO gr_mp_test.t1 (val) VALUES ('write_from_node3');"
901901
# Wait for replication to node1 with retries
902902
for i in $(seq 1 10); do
903-
RESULT=$($SBDIR/node1/use -BN -e "SELECT val FROM gr_mp_test.t1 WHERE val='write_from_node3';" 2>/dev/null)
903+
RESULT=$($SBDIR/node1/use -BN -e "SELECT val FROM gr_mp_test.t1 WHERE val='write_from_node3';" 2>/dev/null) || true
904904
echo "$RESULT" | grep -q "write_from_node3" && break
905905
echo " Waiting for replication... ($i/10)"
906906
sleep 2
@@ -983,7 +983,7 @@ jobs:
983983
$SBDIR/node1/use -e "CREATE DATABASE fanin_test; USE fanin_test; CREATE TABLE t1 (id INT AUTO_INCREMENT PRIMARY KEY, val VARCHAR(100), src VARCHAR(20)); INSERT INTO t1 (val, src) VALUES ('from_master1', 'node1');"
984984
# Fan-in uses multi-source replication; allow up to 30s per source
985985
for i in $(seq 1 15); do
986-
RESULT=$($SBDIR/node3/use -BN -e "SELECT val FROM fanin_test.t1 WHERE src='node1';" 2>/dev/null)
986+
RESULT=$($SBDIR/node3/use -BN -e "SELECT val FROM fanin_test.t1 WHERE src='node1';" 2>/dev/null) || true
987987
echo "$RESULT" | grep -q "from_master1" && break
988988
echo " Waiting for replication from node1... ($i/15)"
989989
sleep 2
@@ -995,7 +995,7 @@ jobs:
995995
$SBDIR/node2/use -e "INSERT INTO fanin_test.t1 (val, src) VALUES ('from_master2', 'node2');"
996996
# Fan-in uses multi-source replication; allow up to 30s per source
997997
for i in $(seq 1 15); do
998-
RESULT=$($SBDIR/node3/use -BN -e "SELECT val FROM fanin_test.t1 WHERE src='node2';" 2>/dev/null)
998+
RESULT=$($SBDIR/node3/use -BN -e "SELECT val FROM fanin_test.t1 WHERE src='node2';" 2>/dev/null) || true
999999
echo "$RESULT" | grep -q "from_master2" && break
10001000
echo " Waiting for replication from node2... ($i/15)"
10011001
sleep 2
@@ -1023,7 +1023,7 @@ jobs:
10231023
$SBDIR/node1/use -e "CREATE DATABASE allm_test; USE allm_test; CREATE TABLE t1 (id INT AUTO_INCREMENT PRIMARY KEY, val VARCHAR(100)); INSERT INTO t1 (val) VALUES ('write_from_node1');"
10241024
# Wait for replication to node3 with retries
10251025
for i in $(seq 1 10); do
1026-
RESULT=$($SBDIR/node3/use -BN -e "SELECT val FROM allm_test.t1 WHERE val='write_from_node1';" 2>/dev/null)
1026+
RESULT=$($SBDIR/node3/use -BN -e "SELECT val FROM allm_test.t1 WHERE val='write_from_node1';" 2>/dev/null) || true
10271027
echo "$RESULT" | grep -q "write_from_node1" && break
10281028
echo " Waiting for replication... ($i/10)"
10291029
sleep 2
@@ -1035,7 +1035,7 @@ jobs:
10351035
$SBDIR/node3/use -e "INSERT INTO allm_test.t1 (val) VALUES ('write_from_node3');"
10361036
# Wait for replication to node1 with retries
10371037
for i in $(seq 1 10); do
1038-
RESULT=$($SBDIR/node1/use -BN -e "SELECT val FROM allm_test.t1 WHERE val='write_from_node3';" 2>/dev/null)
1038+
RESULT=$($SBDIR/node1/use -BN -e "SELECT val FROM allm_test.t1 WHERE val='write_from_node3';" 2>/dev/null) || true
10391039
echo "$RESULT" | grep -q "write_from_node3" && break
10401040
echo " Waiting for replication... ($i/10)"
10411041
sleep 2

.github/workflows/proxysql_integration_tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ jobs:
141141
echo "OK: HG1 (reader) received queries — R/W split is working"
142142
143143
echo "=== Verify written data is readable through proxy ==="
144-
RESULT=$(${SANDBOX_DIR}/proxysql/use_proxy -BN -e "SELECT val FROM rw_split_test.t1 WHERE val='rw_split_write_1';" 2>&1 | grep -v Warning)
144+
RESULT=$(${SANDBOX_DIR}/proxysql/use_proxy -BN -e "SELECT val FROM rw_split_test.t1 WHERE val='rw_split_write_1';" 2>&1 | grep -v Warning) || true
145145
echo "Result: $RESULT"
146146
echo "$RESULT" | grep -q "rw_split_write_1" || { echo "FAIL: written data not readable through proxy"; exit 1; }
147147
echo "OK: R/W split write+read data flow verified"
@@ -220,7 +220,7 @@ jobs:
220220
$SBDIR/primary/use -c "CREATE TABLE proxy_test(id serial, val text); INSERT INTO proxy_test(val) VALUES ('pg_proxysql_test');"
221221
# Wait for replication with retries
222222
for i in $(seq 1 10); do
223-
RESULT=$($SBDIR/replica1/use -c "SELECT val FROM proxy_test;" 2>/dev/null)
223+
RESULT=$($SBDIR/replica1/use -c "SELECT val FROM proxy_test;" 2>/dev/null) || true
224224
echo "$RESULT" | grep -q "pg_proxysql_test" && break
225225
echo " Waiting for replication... ($i/10)"
226226
sleep 2

0 commit comments

Comments
 (0)