This monorepo merges xdbc-client and xdbc-server (branch: test/reproduce) using git filter-repo --to-subdirectory-filter.
XDBC-filter/
client/ ← xdbc-client source
server/ ← xdbc-server source
To access the history of client (or server) use git log as given below
git log -- client/xdbc/xclient.cppTo build the combined image and spin up both the client and server containers :
# 1. Build the unified image
make
# 2. Start the infrastructure
docker compose up -dThis will create two containers (xdbcserver and xdbcclient) using the same xdbc-unified:latest image, mapping their shared /dev/shm volumes correctly.
Before running, download and extract the required dataset to /dev/shm:
# Download the ss13husallm dataset (~250 MB compressed, ~1.2 GB extracted)
wget -O ss13husallm.csv.tar.gz "https://tubcloud.tu-berlin.de/s/M3aeptL8R5ekWSD/download?path=%2F&files=ss13husallm.csv.tar.gz"
# Extract to /dev/shm (shared memory, accessible inside containers)
tar --overwrite -xzf ss13husallm.csv.tar.gz -C /dev/shmYou can then run commands inside them:
# Start the server
docker exec -it xdbcserver bash -c "./xdbc-server/build/xdbc-server"
# Run a client command
docker exec -it xdbcclient bash -c "/xdbc-client/Sinks/build/xdbcsinks --server-host=xdbcserver --table ss13husallm -f1 -b 1024 -p 32000 -n1 -w1 -d1 -s1 --skip-serializer=0 --target=csv"