Spaces:
Running on CPU Upgrade
Running on CPU Upgrade
Update entrypoint.sh
Browse files- 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
|
| 20 |
-
echo "Scanning $
|
| 21 |
|
| 22 |
-
for COLLECTION_DIR in "$
|
| 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
|
| 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
|