Skip to content

Commit 346bcf7

Browse files
authored
fix: redis backup hang (#2464)
1 parent efb0b67 commit 346bcf7

File tree

2 files changed

+22
-8
lines changed

2 files changed

+22
-8
lines changed

addons/falkordb/dataprotection/backup.sh

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,18 @@ echo "INFO: start BGSAVE"
2424
${connect_url} BGSAVE
2525
echo "INFO: wait for saving rdb successfully"
2626
while true; do
27-
end_save=$(${connect_url} LASTSAVE)
28-
if [ $end_save -ne $last_save ];then
29-
break
27+
persistence_info=$(${connect_url} INFO persistence)
28+
bgsave_in_progress=$(echo "$persistence_info" | grep rdb_bgsave_in_progress | tr -d '\r' | cut -d: -f2)
29+
if [ "$bgsave_in_progress" = "0" ]; then
30+
bgsave_status=$(echo "$persistence_info" | grep rdb_last_bgsave_status | tr -d '\r' | cut -d: -f2)
31+
if [ "$bgsave_status" = "err" ]; then
32+
echo "ERROR: BGSAVE failed on target pod"
33+
exit 1
34+
fi
35+
echo "INFO: BGSAVE completed (no changes since last save)"
36+
break
3037
fi
31-
sleep 1
38+
sleep 3
3239
done
3340
echo "INFO: start to save data file..."
3441
cd ${DATA_DIR}

addons/redis/dataprotection/backup.sh

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,18 @@ echo "INFO: start BGSAVE"
5050
${connect_url} BGSAVE
5151
echo "INFO: wait for saving rdb successfully"
5252
while true; do
53-
end_save=$(${connect_url} LASTSAVE)
54-
if [ $end_save -ne $last_save ];then
55-
break
53+
persistence_info=$(${connect_url} INFO persistence)
54+
bgsave_in_progress=$(echo "$persistence_info" | grep rdb_bgsave_in_progress | tr -d '\r' | cut -d: -f2)
55+
if [ "$bgsave_in_progress" = "0" ]; then
56+
bgsave_status=$(echo "$persistence_info" | grep rdb_last_bgsave_status | tr -d '\r' | cut -d: -f2)
57+
if [ "$bgsave_status" = "err" ]; then
58+
echo "ERROR: BGSAVE failed on target pod"
59+
exit 1
60+
fi
61+
echo "INFO: BGSAVE completed (no changes since last save)"
62+
break
5663
fi
57-
sleep 1
64+
sleep 3
5865
done
5966
echo "INFO: start to save data file..."
6067
cd ${DATA_DIR}

0 commit comments

Comments
 (0)