photoncloud-monorepo/flaredb/scripts/verify-sharding.sh

40 lines
1 KiB
Bash
Executable file

#!/usr/bin/env bash
set -e
echo "Building workspace..."
cargo build
echo "Starting PD..."
cargo run --bin rdb-pd -- --addr 127.0.0.1:2479 &
PD_PID=$!
sleep 2
echo "Starting Server 1 (127.0.0.1:50001, data1)..."
# Port 50001
cargo run --bin rdb-server -- --addr 127.0.0.1:50001 --data-dir data1 --pd-addr 127.0.0.1:2479 &
S1_PID=$!
echo "Starting Server 2 (127.0.0.1:50002, data2)..."
# Port 50002
cargo run --bin rdb-server -- --addr 127.0.0.1:50002 --data-dir data2 --pd-addr 127.0.0.1:2479 &
S2_PID=$!
sleep 5 # Wait for registration
echo "Running Client Verification (Sharding)..."
# Put 'a' (Should go to S1)
echo "Testing Put 'a'..."
cargo run --bin rdb-client -- --addr 127.0.0.1:50001 --pd-addr 127.0.0.1:2479 raw-put --key a --value val_a
# Put 'z' (Should go to S2)
echo "Testing Put 'z'..."
cargo run --bin rdb-client -- --addr 127.0.0.1:50001 --pd-addr 127.0.0.1:2479 raw-put --key z --value val_z
# Cleanup
kill $PD_PID
kill $S1_PID
kill $S2_PID
rm -rf data1 data2
echo "Sharding Verification Complete!"