ppsingh commited on
Commit
166628c
·
verified ·
1 Parent(s): 041dca5

Update entrypoint.sh

Browse files
Files changed (1) hide show
  1. entrypoint.sh +12 -11
entrypoint.sh CHANGED
@@ -2,9 +2,16 @@
2
  set -e
3
 
4
  SNAPSHOT_DIR="/data/qdrant_snapshots"
 
5
  QDRANT_URL="http://localhost:6333"
6
  API_KEY="${QDRANT__SERVICE__API_KEY}"
7
 
 
 
 
 
 
 
8
  # Start Qdrant in background
9
  /qdrant/qdrant &
10
  QDRANT_PID=$!
@@ -16,20 +23,17 @@ until wget -qO- --header="api-key: $API_KEY" "$QDRANT_URL/readyz" > /dev/null 2>
16
  done
17
  echo "Qdrant ready."
18
 
19
- # Recover snapshots from subfolders
20
- echo "Scanning $SNAPSHOT_DIR for snapshots..."
21
 
22
- for COLLECTION_DIR in "$SNAPSHOT_DIR"/*/; do
23
  [ -d "$COLLECTION_DIR" ] || continue
24
  COLLECTION=$(basename "$COLLECTION_DIR")
25
  echo "Found collection folder: $COLLECTION"
26
 
27
- # Find snapshot file (not checksum)
28
  SNAPSHOT=""
29
  for f in "$COLLECTION_DIR"*.snapshot; do
30
- case "$f" in
31
- *.checksum) continue ;;
32
- esac
33
  [ -f "$f" ] && SNAPSHOT="$f" && break
34
  done
35
 
@@ -39,18 +43,16 @@ for COLLECTION_DIR in "$SNAPSHOT_DIR"/*/; do
39
  fi
40
  echo "Found snapshot: $SNAPSHOT"
41
 
42
- # Check if collection already exists
43
  HTTP_STATUS=$(wget -qO- \
44
  --header="api-key: $API_KEY" \
45
  "$QDRANT_URL/collections/$COLLECTION" 2>/dev/null | grep -o '"status":"[^"]*"' | head -1)
46
- echo "Collection $COLLECTION status response: $HTTP_STATUS"
47
 
48
  if echo "$HTTP_STATUS" | grep -q '"status":"green"'; then
49
  echo "Collection '$COLLECTION' already green, skipping."
50
  continue
51
  fi
52
 
53
- # Recover from snapshot
54
  echo "Recovering '$COLLECTION' from $SNAPSHOT ..."
55
  RESPONSE=$(wget -qO- \
56
  --method=PUT \
@@ -60,7 +62,6 @@ for COLLECTION_DIR in "$SNAPSHOT_DIR"/*/; do
60
  "$QDRANT_URL/collections/$COLLECTION/snapshots/recover" 2>&1)
61
  echo "Recovery response: $RESPONSE"
62
 
63
- # Wait for green status
64
  echo "Waiting for '$COLLECTION' to become green..."
65
  for i in $(seq 1 60); do
66
  sleep 5
 
2
  set -e
3
 
4
  SNAPSHOT_DIR="/data/qdrant_snapshots"
5
+ LOCAL_SNAPSHOT_DIR="/tmp/qdrant_snapshots"
6
  QDRANT_URL="http://localhost:6333"
7
  API_KEY="${QDRANT__SERVICE__API_KEY}"
8
 
9
+ # Copy snapshots from FUSE mount to local disk first
10
+ echo "Copying snapshots from FUSE mount to local /tmp..."
11
+ mkdir -p "$LOCAL_SNAPSHOT_DIR"
12
+ cp -r "$SNAPSHOT_DIR"/. "$LOCAL_SNAPSHOT_DIR/"
13
+ echo "Copy complete."
14
+
15
  # Start Qdrant in background
16
  /qdrant/qdrant &
17
  QDRANT_PID=$!
 
23
  done
24
  echo "Qdrant ready."
25
 
26
+ # Recover snapshots from LOCAL copy (not FUSE mount)
27
+ echo "Scanning $LOCAL_SNAPSHOT_DIR for snapshots..."
28
 
29
+ for COLLECTION_DIR in "$LOCAL_SNAPSHOT_DIR"/*/; do
30
  [ -d "$COLLECTION_DIR" ] || continue
31
  COLLECTION=$(basename "$COLLECTION_DIR")
32
  echo "Found collection folder: $COLLECTION"
33
 
 
34
  SNAPSHOT=""
35
  for f in "$COLLECTION_DIR"*.snapshot; do
36
+ case "$f" in *.checksum) continue ;; esac
 
 
37
  [ -f "$f" ] && SNAPSHOT="$f" && break
38
  done
39
 
 
43
  fi
44
  echo "Found snapshot: $SNAPSHOT"
45
 
 
46
  HTTP_STATUS=$(wget -qO- \
47
  --header="api-key: $API_KEY" \
48
  "$QDRANT_URL/collections/$COLLECTION" 2>/dev/null | grep -o '"status":"[^"]*"' | head -1)
49
+ echo "Collection $COLLECTION status: $HTTP_STATUS"
50
 
51
  if echo "$HTTP_STATUS" | grep -q '"status":"green"'; then
52
  echo "Collection '$COLLECTION' already green, skipping."
53
  continue
54
  fi
55
 
 
56
  echo "Recovering '$COLLECTION' from $SNAPSHOT ..."
57
  RESPONSE=$(wget -qO- \
58
  --method=PUT \
 
62
  "$QDRANT_URL/collections/$COLLECTION/snapshots/recover" 2>&1)
63
  echo "Recovery response: $RESPONSE"
64
 
 
65
  echo "Waiting for '$COLLECTION' to become green..."
66
  for i in $(seq 1 60); do
67
  sleep 5