Skip to content

Commit a13c5be

Browse files
authored
fix: redis backup hang (#2464) (#2465)
1 parent 7b52e15 commit a13c5be

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

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)