40 lines
1 KiB
Bash
Executable file
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!"
|