Skip to content

Commit 595a3cd

Browse files
committed
kvrocks loading + other template config fixes:
- load: don't attempt to overwrite kvrocks db if already exists - load: download into temp dir first, then rename if successful - load: skip loading if remote file doesn't exist, nothing to do but reset index - save: bump max memory for save pod - index import: set high backoff to ensure index jobs don't fail - kvrocks: remove --appendonly flag, unsupported in kvrocks
1 parent 9f343f9 commit 595a3cd

File tree

2 files changed

+30
-6
lines changed

2 files changed

+30
-6
lines changed

chart/app-templates/index-import-job.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@ metadata:
1313

1414
spec:
1515
ttlSecondsAfterFinished: 300
16-
backoffLimit: 6
16+
17+
# keep retrying indefinitely
18+
backoffLimit: 1000000
1719

1820
# if purging, set completions to disallow changing parallelism
1921
# for import, omit to allow increasing later

chart/app-templates/redis.yaml

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ spec:
104104
imagePullPolicy: {{ redis_image_pull_policy }}
105105

106106
{% if use_kvrocks %}
107-
args: ["-c", "/redis-conf/kvrocks.conf", "--dir", "/data", "--appendonly", "{{ 'no' if load_dump else 'yes' }}"]
107+
args: ["-c", "/redis-conf/kvrocks.conf", "--dir", "/data"]
108108
{% else %}
109109
args: ["/redis-conf/redis.conf", "--appendonly", "{{ 'no' if load_dump else 'yes' }}"]
110110
{% endif %}
@@ -237,7 +237,7 @@ spec:
237237

238238
resources: &rclone_resources
239239
limits:
240-
memory: "200Mi"
240+
memory: "1000Mi"
241241

242242
requests:
243243
memory: "200Mi"
@@ -253,11 +253,33 @@ spec:
253253
- |
254254
set -e
255255
256+
# if remote file doesn't exist, just return success (nothing to load)
257+
if ! rclone lsf remote:{{ remote_file_path }} > /dev/null 2>&1; then
258+
echo "Remote {{ remote_file_path }} does not exist, nothing to load, done"
259+
exit 0
260+
fi
261+
256262
{% if use_kvrocks %}
257-
mkdir -p /data/{{ local_file_dest }}
258-
cd /data/{{ local_file_dest }}
263+
# only run if target dir doesn't exist yet
264+
if [ ! -d "/data/{{ local_file_dest }}" ]; then
265+
266+
# remove existing + create new empty tmp dir
267+
rm -rf /data/{{ local_file_dest }}.tmp
268+
mkdir -p /data/{{ local_file_dest }}.tmp
269+
270+
cd /data/{{ local_file_dest }}.tmp
259271

260-
rclone --config "" cat remote:{{ remote_file_path }} | tar xzf -
272+
echo "Downloading from {{ remote_file_path }}"
273+
274+
rclone --config "" cat remote:{{ remote_file_path }} | tar xzf -
275+
276+
# move to final dest only if tar extract succeeds
277+
mv /data/{{ local_file_dest }}.tmp /data/{{ local_file_dest }}
278+
279+
echo "Downloaded to /data/{{ local_file_dest }} successfully!"
280+
else
281+
echo "/data/{{ local_file_dest }} already present (likely pod restarted), not overwriting"
282+
fi
261283

262284
{% else %}
263285
rclone --config "" copyto remote:{{ remote_file_path }} /data/{{ local_file_dest }}

0 commit comments

Comments
 (0)