From d4a4f0c72383ef7f040051051baba4a08aec7425 Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Fri, 2 May 2025 18:01:14 +0100 Subject: [PATCH 01/31] OVH pipeline (WIP) --- .gitignore | 3 +++ tool/ovh/clone-repo.sh | 7 +++++ tool/ovh/create.sh | 7 +++++ tool/ovh/download-result.sh | 6 +++++ tool/ovh/profile.sh | 44 +++++++++++++++++++++++++++++++ tool/ovh/ssh-exec.sh | 3 +++ tool/ovh/ssh.sh | 3 +++ tool/ovh/tpcc.sh | 52 +++++++++++++++++++++++++++++++++++++ tool/ovh/watch.sh | 3 +++ 9 files changed, 128 insertions(+) create mode 100755 tool/ovh/clone-repo.sh create mode 100755 tool/ovh/create.sh create mode 100755 tool/ovh/download-result.sh create mode 100755 tool/ovh/profile.sh create mode 100755 tool/ovh/ssh-exec.sh create mode 100755 tool/ovh/ssh.sh create mode 100755 tool/ovh/tpcc.sh create mode 100755 tool/ovh/watch.sh diff --git a/.gitignore b/.gitignore index 1b409d1d..f94335a6 100644 --- a/.gitignore +++ b/.gitignore @@ -61,3 +61,6 @@ bazel-* tpcc/profiling/ ldbc/profiling/ *.json + +# OpenStack credentials +openrc.sh diff --git a/tool/ovh/clone-repo.sh b/tool/ovh/clone-repo.sh new file mode 100755 index 00000000..cfcf6b61 --- /dev/null +++ b/tool/ovh/clone-repo.sh @@ -0,0 +1,7 @@ +set -eu + +toool/ovh/ssh-exec.sh "git clone https://github.com/typedb/typedb-benchmark.git" +if [ $# -eq 1 ]; then + REF=$1 + toool/ovh/ssh-exec.sh "cd typedb-benchmark && git fetch origin $REF && git checkout $REF" +fi diff --git a/tool/ovh/create.sh b/tool/ovh/create.sh new file mode 100755 index 00000000..cb76cd5d --- /dev/null +++ b/tool/ovh/create.sh @@ -0,0 +1,7 @@ +set -eu + +openstack server create $MACHINE_NAME \ + --key-name $OS_KEY_ID \ + --flavor $MACHINE_TYPE \ + --image $IMAGE \ + --network Ext-Net diff --git a/tool/ovh/download-result.sh b/tool/ovh/download-result.sh new file mode 100755 index 00000000..587a50d7 --- /dev/null +++ b/tool/ovh/download-result.sh @@ -0,0 +1,6 @@ +gcloud compute scp --project=$PROJECT --zone=$ZONE $USER@$MACHINE_NAME:'~/typedb-benchmark/results.log' result-$MACHINE_NAME.log +# resolve typedb folder using glob '*', as there's exactly one typedb folder +if [[ $DB =~ typedb ]]; then + gcloud compute scp --project=$PROJECT --zone=$ZONE $USER@$MACHINE_NAME:"~/typedb-benchmark/typedb-all-linux-x86_64-*/log" result-$MACHINE_NAME-server.log +fi + diff --git a/tool/ovh/profile.sh b/tool/ovh/profile.sh new file mode 100755 index 00000000..77b1d222 --- /dev/null +++ b/tool/ovh/profile.sh @@ -0,0 +1,44 @@ +set -eu + +# TPCC config +DB=${DB:-typedb3} +source tool/$DB/config.sh # export the DB server and driver version +SCALE_FACTOR=${SCALE_FACTOR:-1} # 0.5, 1 +WAREHOUSES=${WAREHOUSES:-1} # 1, 5, 10, --- 100, 300, 500, 1000 +CLIENTS=${CLIENTS:-1} # 4, 8, 16, 32, 48, 64 +DURATION=${DURATION:-600} + +# machine config +MACHINE_TYPE=b2-15 + +# cloud provider config +OS_AUTH_URL=https://auth.cloud.ovh.net/v3 +OS_IDENTITY_API_VERSION=3 + +OS_USER_DOMAIN_NAME=${OS_USER_DOMAIN_NAME:-"Default"} +OS_PROJECT_DOMAIN_NAME=${OS_PROJECT_DOMAIN_NAME:-"Default"} + +if [ ! -v OS_TENANT_ID -o ! -v OS_TENANT_NAME -o ! -v OS_USERNAME -o ! -v OS_PASSWORD -o ! -v OS_KEY_ID -o ! -v OS_PRIVATE_KEY]; then + echo "All of OS_TENANT_ID, OS_TENANT_NAME, OS_USERNAME, OS_PASSWORD must be set" + exit 1 +fi + +OS_REGION_NAME="UK1" + +PROJECT=vaticle-engineers +ZONE=europe-west2-c +IMAGE="Ubuntu 24.10" +IMAGE_PROJECT=vaticle-factory-prod + +# four digit random number with zero padding +ID=0000$RANDOM +ID=${ID:(-4)} + +# extrapolation +DB_SHORT="${DB:0:1}${DB: -1}" +SERVER_VERSION_SHORT=${SERVER_VERSION:0:4} +SERVER_VERSION_SHORT=${SERVER_VERSION_SHORT//\./-} # replace '.'s in version with hyphens +DRIVER_VERSION_SHORT="eac3" # TODO: update according to DRIVER_VERSION +MACHINE_TYPE_SHORT="${MACHINE_TYPE:0:2}${MACHINE_TYPE: -2}" +BENCH_ID=$USER-$DB_SHORT-$SERVER_VERSION_SHORT-$DRIVER_VERSION_SHORT-$MACHINE_TYPE_SHORT-$DISK_SIZE-sf$SCALE_FACTOR-w$WAREHOUSES-c$CLIENTS-dur$DURATION-$ID +MACHINE_NAME=$BENCH_ID diff --git a/tool/ovh/ssh-exec.sh b/tool/ovh/ssh-exec.sh new file mode 100755 index 00000000..b291f3a6 --- /dev/null +++ b/tool/ovh/ssh-exec.sh @@ -0,0 +1,3 @@ +set -eu + +openstack server ssh $MACHINE_NAME --address-type Ext-Net -- -i $OS_PRIVATE_KEY -l ubuntu "$@" diff --git a/tool/ovh/ssh.sh b/tool/ovh/ssh.sh new file mode 100755 index 00000000..82d0f386 --- /dev/null +++ b/tool/ovh/ssh.sh @@ -0,0 +1,3 @@ +set -eu + +openstack server ssh $MACHINE_NAME --address-type Ext-Net -- -i $OS_PRIVATE_KEY -l ubuntu diff --git a/tool/ovh/tpcc.sh b/tool/ovh/tpcc.sh new file mode 100755 index 00000000..d7d427a4 --- /dev/null +++ b/tool/ovh/tpcc.sh @@ -0,0 +1,52 @@ +set -euo allexport + +usage() { + echo "Usage: $0 [-d ] [-s SCALE_FACTOR] [-w WAREHOUSES] [-c CLIENTS] [-t DURATION] [-k]" 1>&2 + echo "Default: $0 -d typedb3 -s 1 -w 1 -c 1 -t 600" 1>&2 + echo "-d DATABASE target database" + echo "-s SCALE_FACTOR benchmark scale factor" + echo "-w WAREHOUSES number of warehouses" + echo "-c CLIENTS number of clients" + echo "-t DURATION how long to run the execution portion of the benchmark (seconds)" + echo "-k keep the server instance (default: deletes)" + exit 1 +} + +KEEP_SERVER= +while getopts ":d:w:c:s:t:k" opt; do + case $opt in + d) DB="$OPTARG" ;; + s) SCALE_FACTOR="$OPTARG" ;; + w) WAREHOUSES="$OPTARG" ;; + c) CLIENTS="$OPTARG" ;; + t) DURATION="$OPTARG" ;; + k) KEEP_SERVER=1 ;; + *) usage ;; + esac +done + +source toool/ovh/profile.sh + +echo Machine name: $MACHINE_NAME + +toool/ovh/create.sh +sleep 40 +toool/ovh/clone-repo.sh $(git rev-parse HEAD) + +toool/ovh/ssh-exec.sh "cd typedb-benchmark && tool/$DB/setup.sh" + +toool/ovh/ssh-exec.sh " + cd typedb-benchmark && + nohup tool/execute-tpcc.sh --no-execute --reset --scalefactor=$SCALE_FACTOR --warehouses=$WAREHOUSES --clients=$CLIENTS --duration=$DURATION $DB & wait \$! + " + +toool/ovh/ssh-exec.sh " + cd typedb-benchmark && + nohup tool/execute-tpcc.sh --no-load --scalefactor=$SCALE_FACTOR --warehouses=$WAREHOUSES --clients=$CLIENTS --duration=$DURATION $DB & wait \$! + " + +toool/ovh/download-result.sh + +if [[ -z $KEEP_SERVER ]]; then + openstack server delete $MACHINE_NAME +fi diff --git a/tool/ovh/watch.sh b/tool/ovh/watch.sh new file mode 100755 index 00000000..65b6811f --- /dev/null +++ b/tool/ovh/watch.sh @@ -0,0 +1,3 @@ +set -eu + +toool/ovh/ssh-exec.sh "tail -n +1 -F typedb-benchmark/results.log" From e6cb68c0c55dc15d149d8b4af0dbd338482c000e Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Fri, 9 May 2025 17:41:30 +0100 Subject: [PATCH 02/31] ensure ipv4 --- tool/ovh/ssh.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tool/ovh/ssh.sh b/tool/ovh/ssh.sh index 82d0f386..244abab9 100755 --- a/tool/ovh/ssh.sh +++ b/tool/ovh/ssh.sh @@ -1,3 +1,3 @@ set -eu -openstack server ssh $MACHINE_NAME --address-type Ext-Net -- -i $OS_PRIVATE_KEY -l ubuntu +openstack server ssh $MACHINE_NAME -4 --address-type Ext-Net -- -i $OS_PRIVATE_KEY -l ubuntu From d465b77749eaac0df2b249460457339e603a6e7c Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Fri, 9 May 2025 17:47:41 +0100 Subject: [PATCH 03/31] toool => tool --- tool/ovh/clone-repo.sh | 4 ++-- tool/ovh/tpcc.sh | 14 +++++++------- tool/ovh/watch.sh | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/tool/ovh/clone-repo.sh b/tool/ovh/clone-repo.sh index cfcf6b61..7ac2626e 100755 --- a/tool/ovh/clone-repo.sh +++ b/tool/ovh/clone-repo.sh @@ -1,7 +1,7 @@ set -eu -toool/ovh/ssh-exec.sh "git clone https://github.com/typedb/typedb-benchmark.git" +tool/ovh/ssh-exec.sh "git clone https://github.com/typedb/typedb-benchmark.git" if [ $# -eq 1 ]; then REF=$1 - toool/ovh/ssh-exec.sh "cd typedb-benchmark && git fetch origin $REF && git checkout $REF" + tool/ovh/ssh-exec.sh "cd typedb-benchmark && git fetch origin $REF && git checkout $REF" fi diff --git a/tool/ovh/tpcc.sh b/tool/ovh/tpcc.sh index d7d427a4..6e41a386 100755 --- a/tool/ovh/tpcc.sh +++ b/tool/ovh/tpcc.sh @@ -25,27 +25,27 @@ while getopts ":d:w:c:s:t:k" opt; do esac done -source toool/ovh/profile.sh +source tool/ovh/profile.sh echo Machine name: $MACHINE_NAME -toool/ovh/create.sh +tool/ovh/create.sh sleep 40 -toool/ovh/clone-repo.sh $(git rev-parse HEAD) +tool/ovh/clone-repo.sh $(git rev-parse HEAD) -toool/ovh/ssh-exec.sh "cd typedb-benchmark && tool/$DB/setup.sh" +tool/ovh/ssh-exec.sh "cd typedb-benchmark && tool/$DB/setup.sh" -toool/ovh/ssh-exec.sh " +tool/ovh/ssh-exec.sh " cd typedb-benchmark && nohup tool/execute-tpcc.sh --no-execute --reset --scalefactor=$SCALE_FACTOR --warehouses=$WAREHOUSES --clients=$CLIENTS --duration=$DURATION $DB & wait \$! " -toool/ovh/ssh-exec.sh " +tool/ovh/ssh-exec.sh " cd typedb-benchmark && nohup tool/execute-tpcc.sh --no-load --scalefactor=$SCALE_FACTOR --warehouses=$WAREHOUSES --clients=$CLIENTS --duration=$DURATION $DB & wait \$! " -toool/ovh/download-result.sh +tool/ovh/download-result.sh if [[ -z $KEEP_SERVER ]]; then openstack server delete $MACHINE_NAME diff --git a/tool/ovh/watch.sh b/tool/ovh/watch.sh index 65b6811f..4d327b9f 100755 --- a/tool/ovh/watch.sh +++ b/tool/ovh/watch.sh @@ -1,3 +1,3 @@ set -eu -toool/ovh/ssh-exec.sh "tail -n +1 -F typedb-benchmark/results.log" +tool/ovh/ssh-exec.sh "tail -n +1 -F typedb-benchmark/results.log" From 6e4549ed5dc100eb31f1442b646c3d6551fac442 Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Fri, 9 May 2025 17:49:36 +0100 Subject: [PATCH 04/31] fix test, remove DISK_SIZE --- tool/ovh/profile.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tool/ovh/profile.sh b/tool/ovh/profile.sh index 77b1d222..50c5fe55 100755 --- a/tool/ovh/profile.sh +++ b/tool/ovh/profile.sh @@ -18,7 +18,7 @@ OS_IDENTITY_API_VERSION=3 OS_USER_DOMAIN_NAME=${OS_USER_DOMAIN_NAME:-"Default"} OS_PROJECT_DOMAIN_NAME=${OS_PROJECT_DOMAIN_NAME:-"Default"} -if [ ! -v OS_TENANT_ID -o ! -v OS_TENANT_NAME -o ! -v OS_USERNAME -o ! -v OS_PASSWORD -o ! -v OS_KEY_ID -o ! -v OS_PRIVATE_KEY]; then +if [ ! -v OS_TENANT_ID -o ! -v OS_TENANT_NAME -o ! -v OS_USERNAME -o ! -v OS_PASSWORD -o ! -v OS_KEY_ID -o ! -v OS_PRIVATE_KEY ]; then echo "All of OS_TENANT_ID, OS_TENANT_NAME, OS_USERNAME, OS_PASSWORD must be set" exit 1 fi @@ -39,6 +39,5 @@ DB_SHORT="${DB:0:1}${DB: -1}" SERVER_VERSION_SHORT=${SERVER_VERSION:0:4} SERVER_VERSION_SHORT=${SERVER_VERSION_SHORT//\./-} # replace '.'s in version with hyphens DRIVER_VERSION_SHORT="eac3" # TODO: update according to DRIVER_VERSION -MACHINE_TYPE_SHORT="${MACHINE_TYPE:0:2}${MACHINE_TYPE: -2}" -BENCH_ID=$USER-$DB_SHORT-$SERVER_VERSION_SHORT-$DRIVER_VERSION_SHORT-$MACHINE_TYPE_SHORT-$DISK_SIZE-sf$SCALE_FACTOR-w$WAREHOUSES-c$CLIENTS-dur$DURATION-$ID +BENCH_ID=$USER-$DB_SHORT-$SERVER_VERSION_SHORT-$DRIVER_VERSION_SHORT-$MACHINE_TYPE-sf$SCALE_FACTOR-w$WAREHOUSES-c$CLIENTS-dur$DURATION-$ID MACHINE_NAME=$BENCH_ID From f358a82ae0413e7f2589f501038ec2b90d9facd1 Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Fri, 9 May 2025 18:04:32 +0100 Subject: [PATCH 05/31] profile check --- tool/ovh/profile.sh | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/tool/ovh/profile.sh b/tool/ovh/profile.sh index 50c5fe55..05c06cbd 100755 --- a/tool/ovh/profile.sh +++ b/tool/ovh/profile.sh @@ -18,8 +18,18 @@ OS_IDENTITY_API_VERSION=3 OS_USER_DOMAIN_NAME=${OS_USER_DOMAIN_NAME:-"Default"} OS_PROJECT_DOMAIN_NAME=${OS_PROJECT_DOMAIN_NAME:-"Default"} -if [ ! -v OS_TENANT_ID -o ! -v OS_TENANT_NAME -o ! -v OS_USERNAME -o ! -v OS_PASSWORD -o ! -v OS_KEY_ID -o ! -v OS_PRIVATE_KEY ]; then - echo "All of OS_TENANT_ID, OS_TENANT_NAME, OS_USERNAME, OS_PASSWORD must be set" +if [ ! -v OS_TENANT_ID -o ! -v OS_TENANT_NAME ]; then + echo "OS_TENANT_ID and OS_TENANT_NAME must be set" + exit 1 +fi + +if [ ! -v OS_USERNAME -o ! -v OS_PASSWORD ]; then + echo "OS_USERNAME and OS_PASSWORD must be set" + exit 1 +fi + +if [ ! -v OS_KEY_ID -o ! -v OS_PRIVATE_KEY ]; then + echo "OS_KEY_ID and OS_PRIVATE_KEY must be set" exit 1 fi From f9b5557805f0a871762aa170a2faa68b91c73371 Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Fri, 9 May 2025 18:33:22 +0100 Subject: [PATCH 06/31] quote things --- tool/ovh/create.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tool/ovh/create.sh b/tool/ovh/create.sh index cb76cd5d..f191bea0 100755 --- a/tool/ovh/create.sh +++ b/tool/ovh/create.sh @@ -1,7 +1,7 @@ set -eu -openstack server create $MACHINE_NAME \ - --key-name $OS_KEY_ID \ - --flavor $MACHINE_TYPE \ - --image $IMAGE \ +openstack server create "$MACHINE_NAME" \ + --key-name "$OS_KEY_ID" \ + --flavor "$MACHINE_TYPE" \ + --image "$IMAGE" \ --network Ext-Net From de6530f07aca472fba0509bb6c1ebe451751e427 Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Fri, 9 May 2025 18:34:00 +0100 Subject: [PATCH 07/31] ipv4 redux --- tool/ovh/ssh-exec.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tool/ovh/ssh-exec.sh b/tool/ovh/ssh-exec.sh index b291f3a6..c5db2714 100755 --- a/tool/ovh/ssh-exec.sh +++ b/tool/ovh/ssh-exec.sh @@ -1,3 +1,3 @@ set -eu -openstack server ssh $MACHINE_NAME --address-type Ext-Net -- -i $OS_PRIVATE_KEY -l ubuntu "$@" +openstack server ssh $MACHINE_NAME -4 --address-type Ext-Net -- -i $OS_PRIVATE_KEY -l ubuntu "$@" From aeb2cc0f27c7148d7f9395be87081c50e0495f0a Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Fri, 9 May 2025 18:36:13 +0100 Subject: [PATCH 08/31] wait for machine creation --- tool/ovh/create.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tool/ovh/create.sh b/tool/ovh/create.sh index f191bea0..1b9cd71c 100755 --- a/tool/ovh/create.sh +++ b/tool/ovh/create.sh @@ -5,3 +5,8 @@ openstack server create "$MACHINE_NAME" \ --flavor "$MACHINE_TYPE" \ --image "$IMAGE" \ --network Ext-Net + +for _ in `seq 60`; do + STATUS=$(openstack server show "$MACHINE_NAME" |& grep '\bstatus' | awk '{print $4}') + if [[ $STATUS == "ACTIVE" ]]; then break; fi +done From 41ebe43086c199ae80bc7a55dafca3d0e72ae653 Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Fri, 9 May 2025 18:40:27 +0100 Subject: [PATCH 09/31] ask for openrc.sh --- tool/ovh/profile.sh | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/tool/ovh/profile.sh b/tool/ovh/profile.sh index 05c06cbd..2ff70577 100755 --- a/tool/ovh/profile.sh +++ b/tool/ovh/profile.sh @@ -12,19 +12,13 @@ DURATION=${DURATION:-600} MACHINE_TYPE=b2-15 # cloud provider config -OS_AUTH_URL=https://auth.cloud.ovh.net/v3 -OS_IDENTITY_API_VERSION=3 - -OS_USER_DOMAIN_NAME=${OS_USER_DOMAIN_NAME:-"Default"} -OS_PROJECT_DOMAIN_NAME=${OS_PROJECT_DOMAIN_NAME:-"Default"} - if [ ! -v OS_TENANT_ID -o ! -v OS_TENANT_NAME ]; then - echo "OS_TENANT_ID and OS_TENANT_NAME must be set" + echo "OS_TENANT_ID and OS_TENANT_NAME must be set; download and source openrc.sh" exit 1 fi if [ ! -v OS_USERNAME -o ! -v OS_PASSWORD ]; then - echo "OS_USERNAME and OS_PASSWORD must be set" + echo "OS_USERNAME and OS_PASSWORD must be set; download and source openrc.sh" exit 1 fi @@ -33,8 +27,6 @@ if [ ! -v OS_KEY_ID -o ! -v OS_PRIVATE_KEY ]; then exit 1 fi -OS_REGION_NAME="UK1" - PROJECT=vaticle-engineers ZONE=europe-west2-c IMAGE="Ubuntu 24.10" From 9e144e47689775ccde3a2fa8a3e45e2dd8c60766 Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Fri, 9 May 2025 18:44:00 +0100 Subject: [PATCH 10/31] don't ask to add to known hosts --- tool/ovh/ssh-exec.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tool/ovh/ssh-exec.sh b/tool/ovh/ssh-exec.sh index c5db2714..431b18b3 100755 --- a/tool/ovh/ssh-exec.sh +++ b/tool/ovh/ssh-exec.sh @@ -1,3 +1,3 @@ set -eu -openstack server ssh $MACHINE_NAME -4 --address-type Ext-Net -- -i $OS_PRIVATE_KEY -l ubuntu "$@" +openstack server ssh $MACHINE_NAME -4 --address-type Ext-Net -- -i $OS_PRIVATE_KEY -l ubuntu -o StrictHostKeychecking=no "$@" From b4e191bfd5560113c4876c58d79f03c4822a9105 Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Fri, 9 May 2025 18:47:27 +0100 Subject: [PATCH 11/31] double quote --- tool/ovh/clone-repo.sh | 4 ++-- tool/ovh/tpcc.sh | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tool/ovh/clone-repo.sh b/tool/ovh/clone-repo.sh index 7ac2626e..901235ea 100755 --- a/tool/ovh/clone-repo.sh +++ b/tool/ovh/clone-repo.sh @@ -1,7 +1,7 @@ set -eu -tool/ovh/ssh-exec.sh "git clone https://github.com/typedb/typedb-benchmark.git" +tool/ovh/ssh-exec.sh "'git clone https://github.com/typedb/typedb-benchmark.git'" if [ $# -eq 1 ]; then REF=$1 - tool/ovh/ssh-exec.sh "cd typedb-benchmark && git fetch origin $REF && git checkout $REF" + tool/ovh/ssh-exec.sh "'cd typedb-benchmark && git fetch origin $REF && git checkout $REF'" fi diff --git a/tool/ovh/tpcc.sh b/tool/ovh/tpcc.sh index 6e41a386..47c8b195 100755 --- a/tool/ovh/tpcc.sh +++ b/tool/ovh/tpcc.sh @@ -33,17 +33,17 @@ tool/ovh/create.sh sleep 40 tool/ovh/clone-repo.sh $(git rev-parse HEAD) -tool/ovh/ssh-exec.sh "cd typedb-benchmark && tool/$DB/setup.sh" +tool/ovh/ssh-exec.sh "'cd typedb-benchmark && tool/$DB/setup.sh'" -tool/ovh/ssh-exec.sh " +tool/ovh/ssh-exec.sh "' cd typedb-benchmark && nohup tool/execute-tpcc.sh --no-execute --reset --scalefactor=$SCALE_FACTOR --warehouses=$WAREHOUSES --clients=$CLIENTS --duration=$DURATION $DB & wait \$! - " + '" -tool/ovh/ssh-exec.sh " +tool/ovh/ssh-exec.sh "' cd typedb-benchmark && nohup tool/execute-tpcc.sh --no-load --scalefactor=$SCALE_FACTOR --warehouses=$WAREHOUSES --clients=$CLIENTS --duration=$DURATION $DB & wait \$! - " + '" tool/ovh/download-result.sh From a22369570236d31f4cf1137f713f75a386e21dc6 Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Mon, 12 May 2025 09:36:45 +0100 Subject: [PATCH 12/31] replace scp with ssh --- tool/ovh/download-result.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tool/ovh/download-result.sh b/tool/ovh/download-result.sh index 587a50d7..767aa3ba 100755 --- a/tool/ovh/download-result.sh +++ b/tool/ovh/download-result.sh @@ -1,6 +1,6 @@ -gcloud compute scp --project=$PROJECT --zone=$ZONE $USER@$MACHINE_NAME:'~/typedb-benchmark/results.log' result-$MACHINE_NAME.log +openstack server ssh $MACHINE_NAME -4 --address-type Ext-Net -- -i $OS_PRIVATE_KEY -l ubuntu -o StrictHostKeychecking=no "cat ~/typedb-benchmark/results.log" > result-$MACHINE_NAME.log # resolve typedb folder using glob '*', as there's exactly one typedb folder if [[ $DB =~ typedb ]]; then - gcloud compute scp --project=$PROJECT --zone=$ZONE $USER@$MACHINE_NAME:"~/typedb-benchmark/typedb-all-linux-x86_64-*/log" result-$MACHINE_NAME-server.log + openstack server ssh $MACHINE_NAME -4 --address-type Ext-Net -- -i $OS_PRIVATE_KEY -l ubuntu -o StrictHostKeychecking=no "cat ~/typedb-benchmark/typedb-all-linux-x86_64-*/log" > result-$MACHINE_NAME-server.log fi From 92d157b94410b8212ecc17b751779d8e45939b45 Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Mon, 12 May 2025 09:54:38 +0100 Subject: [PATCH 13/31] force venv --- tool/mongodb/install-driver.sh | 8 +++++--- tool/neo4j/install-driver.sh | 5 ++++- tool/ovh/tpcc.sh | 4 ++-- tool/postgres/install-driver.sh | 4 +++- tool/typedb2/install-driver.sh | 6 ++++-- tool/typedb3/install-driver.sh | 4 +++- 6 files changed, 21 insertions(+), 10 deletions(-) diff --git a/tool/mongodb/install-driver.sh b/tool/mongodb/install-driver.sh index 8ee8e920..fd8a52a1 100755 --- a/tool/mongodb/install-driver.sh +++ b/tool/mongodb/install-driver.sh @@ -2,6 +2,8 @@ set -eu echo 'installing driver...' sudo apt update -y -sudo apt install -y python3-pip -python3 -m pip install pymongo -echo 'installing driver done' \ No newline at end of file +sudo apt install -y python3-pip python3-venv +if [ ! -x venv ]; then python3 -m venv venv; fi +. venv/bin/activate +pip install pymongo +echo 'installing driver done' diff --git a/tool/neo4j/install-driver.sh b/tool/neo4j/install-driver.sh index 5c19f012..2fd62a98 100755 --- a/tool/neo4j/install-driver.sh +++ b/tool/neo4j/install-driver.sh @@ -1,4 +1,7 @@ set -eu -sudo apt install -y python3-pip +sudo apt update -y +sudo apt install -y python3-pip python3-venv +if [ ! -x venv ]; then python3 -m venv venv; fi +. venv/bin/activate pip install neo4j diff --git a/tool/ovh/tpcc.sh b/tool/ovh/tpcc.sh index 47c8b195..e52efcc6 100755 --- a/tool/ovh/tpcc.sh +++ b/tool/ovh/tpcc.sh @@ -36,12 +36,12 @@ tool/ovh/clone-repo.sh $(git rev-parse HEAD) tool/ovh/ssh-exec.sh "'cd typedb-benchmark && tool/$DB/setup.sh'" tool/ovh/ssh-exec.sh "' - cd typedb-benchmark && + cd typedb-benchmark && . venv/bin/activate && nohup tool/execute-tpcc.sh --no-execute --reset --scalefactor=$SCALE_FACTOR --warehouses=$WAREHOUSES --clients=$CLIENTS --duration=$DURATION $DB & wait \$! '" tool/ovh/ssh-exec.sh "' - cd typedb-benchmark && + cd typedb-benchmark && . venv/bin/activate && nohup tool/execute-tpcc.sh --no-load --scalefactor=$SCALE_FACTOR --warehouses=$WAREHOUSES --clients=$CLIENTS --duration=$DURATION $DB & wait \$! '" diff --git a/tool/postgres/install-driver.sh b/tool/postgres/install-driver.sh index 600bfafc..028f58c5 100755 --- a/tool/postgres/install-driver.sh +++ b/tool/postgres/install-driver.sh @@ -2,6 +2,8 @@ set -eu echo 'installing driver...' sudo apt update -y -sudo apt install -y python3-pip +sudo apt install -y python3-pip python3-venv +if [ ! -x venv ]; then python3 -m venv venv; fi +. venv/bin/activate pip install psycopg2-binary echo 'installing driver done' diff --git a/tool/typedb2/install-driver.sh b/tool/typedb2/install-driver.sh index d6a39f57..289bc7b8 100755 --- a/tool/typedb2/install-driver.sh +++ b/tool/typedb2/install-driver.sh @@ -3,5 +3,7 @@ set -eu source tool/typedb2/config.sh sudo apt update -y -sudo apt install -y python3-pip -pip install typedb-driver=="$DRIVER_VERSION" \ No newline at end of file +sudo apt install -y python3-pip python3-venv +if [ ! -x venv ]; then python3 -m venv venv; fi +. venv/bin/activate +pip install typedb-driver=="$DRIVER_VERSION" diff --git a/tool/typedb3/install-driver.sh b/tool/typedb3/install-driver.sh index 6f1b29cf..4d695658 100755 --- a/tool/typedb3/install-driver.sh +++ b/tool/typedb3/install-driver.sh @@ -3,5 +3,7 @@ set -eu source tool/typedb3/config.sh sudo apt update -y -sudo apt install -y python3-pip +sudo apt install -y python3-pip python3-venv +if [ ! -x venv ]; then python3 -m venv venv; fi +. venv/bin/activate pip install typedb-driver=="$DRIVER_VERSION" --extra-index-url https://repo.typedb.com/public/public-snapshot/python/simple/ From de0f8b981eab24f8b88c2e37a554da0559b4e9df Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Mon, 12 May 2025 10:06:16 +0100 Subject: [PATCH 14/31] run_batched.sh --- tool/run_batched.sh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100755 tool/run_batched.sh diff --git a/tool/run_batched.sh b/tool/run_batched.sh new file mode 100755 index 00000000..23a77b59 --- /dev/null +++ b/tool/run_batched.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# usage: for ...; do echo cmd; done | run_batched.sh + +MAX_JOBS=10 + +while true; do + CUR_JOBS=$(jobs | wc -l) + if ((CUR_JOBS < MAX_JOBS)); then + read cmd || break + echo "$cmd" + bash -c "$cmd" & + else + sleep 60 + fi +done + +echo "scheduled all jobs" + +wait $(jobs -p) From b9e0e85dbf464ad2eb7c033499fbda30680cb7b4 Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Mon, 12 May 2025 10:16:16 +0100 Subject: [PATCH 15/31] MAX_JOBS=8 --- tool/run_batched.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tool/run_batched.sh b/tool/run_batched.sh index 23a77b59..050fadb7 100755 --- a/tool/run_batched.sh +++ b/tool/run_batched.sh @@ -2,7 +2,7 @@ # usage: for ...; do echo cmd; done | run_batched.sh -MAX_JOBS=10 +MAX_JOBS=8 while true; do CUR_JOBS=$(jobs | wc -l) From e3d91c7d85ebd132f022aa9c9ab595377497de66 Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Mon, 12 May 2025 10:52:33 +0100 Subject: [PATCH 16/31] delete on exit trap --- tool/ovh/tpcc.sh | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/tool/ovh/tpcc.sh b/tool/ovh/tpcc.sh index e52efcc6..1aa48b11 100755 --- a/tool/ovh/tpcc.sh +++ b/tool/ovh/tpcc.sh @@ -29,6 +29,16 @@ source tool/ovh/profile.sh echo Machine name: $MACHINE_NAME +function cleanup { + tool/ovh/download-result.sh + + if [[ -z $KEEP_SERVER ]]; then + openstack server delete $MACHINE_NAME + fi +} +trap cleanup ERR +trap cleanup EXIT + tool/ovh/create.sh sleep 40 tool/ovh/clone-repo.sh $(git rev-parse HEAD) @@ -44,9 +54,3 @@ tool/ovh/ssh-exec.sh "' cd typedb-benchmark && . venv/bin/activate && nohup tool/execute-tpcc.sh --no-load --scalefactor=$SCALE_FACTOR --warehouses=$WAREHOUSES --clients=$CLIENTS --duration=$DURATION $DB & wait \$! '" - -tool/ovh/download-result.sh - -if [[ -z $KEEP_SERVER ]]; then - openstack server delete $MACHINE_NAME -fi From c2f74bcc4582be169194350d446bda7a13e702a0 Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Mon, 12 May 2025 11:55:39 +0100 Subject: [PATCH 17/31] typedb 3.2.0 --- tool/typedb3/config.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tool/typedb3/config.sh b/tool/typedb3/config.sh index c98f5118..ce9d188b 100755 --- a/tool/typedb3/config.sh +++ b/tool/typedb3/config.sh @@ -1,4 +1,4 @@ set -eu -SERVER_VERSION=3.1.0 -DRIVER_VERSION=3.1.0 +SERVER_VERSION=3.2.0 +DRIVER_VERSION=3.2.0 From b4293d12090e9a215c6bad70f33ed11b211840d4 Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Wed, 14 May 2025 12:56:32 +0100 Subject: [PATCH 18/31] don't update java alternatives eagerly? --- tool/neo4j/install-server.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tool/neo4j/install-server.sh b/tool/neo4j/install-server.sh index d3dc385b..4fb68b19 100755 --- a/tool/neo4j/install-server.sh +++ b/tool/neo4j/install-server.sh @@ -10,5 +10,5 @@ echo 'deb [signed-by=/etc/apt/keyrings/neotechnology.gpg] https://debian.neo4j.c sudo apt update -y sudo apt install -y neo4j=1:$SERVER_VERSION -sudo update-java-alternatives --jre --set java-1.21.0-openjdk-amd64 +# sudo update-java-alternatives --jre --set java-1.21.0-openjdk-amd64 sudo sed -i 's/#dbms.security.auth_enabled=.*/dbms.security.auth_enabled=false/' /etc/neo4j/neo4j.conf From f2bf8e62381a5e4c8bcb0c9e2e3aedbd8af0b929 Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Wed, 14 May 2025 15:37:34 +0100 Subject: [PATCH 19/31] disable http endpoint --- tool/typedb3/start-server.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tool/typedb3/start-server.sh b/tool/typedb3/start-server.sh index 284e2c85..6608e226 100755 --- a/tool/typedb3/start-server.sh +++ b/tool/typedb3/start-server.sh @@ -5,7 +5,7 @@ source tool/typedb3/config.sh # start server DISTRIBUTION="typedb-all-linux-x86_64" DISTRIBUTION_DIR="$DISTRIBUTION-$SERVER_VERSION" -tmux new-session -d -s "typedb" "./$DISTRIBUTION_DIR/typedb server > ./$DISTRIBUTION_DIR/log" +tmux new-session -d -s "typedb" "./$DISTRIBUTION_DIR/typedb server --server.http.enable false > ./$DISTRIBUTION_DIR/log" # wait until ready set +e From 5fd4ff7c4e7765f3809291c7433ce8a49fae30ea Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Mon, 19 May 2025 10:47:25 +0100 Subject: [PATCH 20/31] disable diagnostics reporting --- tool/typedb3/start-server.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tool/typedb3/start-server.sh b/tool/typedb3/start-server.sh index 6608e226..75fb0915 100755 --- a/tool/typedb3/start-server.sh +++ b/tool/typedb3/start-server.sh @@ -5,7 +5,7 @@ source tool/typedb3/config.sh # start server DISTRIBUTION="typedb-all-linux-x86_64" DISTRIBUTION_DIR="$DISTRIBUTION-$SERVER_VERSION" -tmux new-session -d -s "typedb" "./$DISTRIBUTION_DIR/typedb server --server.http.enable false > ./$DISTRIBUTION_DIR/log" +tmux new-session -d -s "typedb" "./$DISTRIBUTION_DIR/typedb server --diagnostics.reporting.metrics false > ./$DISTRIBUTION_DIR/log" # wait until ready set +e From 1bf2cd6aff6dffa8c8b5c16bbb7e5b299a8875f5 Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Mon, 19 May 2025 17:58:59 +0100 Subject: [PATCH 21/31] verify --- tool/ovh/tpcc.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tool/ovh/tpcc.sh b/tool/ovh/tpcc.sh index 1aa48b11..1ef76e66 100755 --- a/tool/ovh/tpcc.sh +++ b/tool/ovh/tpcc.sh @@ -44,13 +44,14 @@ sleep 40 tool/ovh/clone-repo.sh $(git rev-parse HEAD) tool/ovh/ssh-exec.sh "'cd typedb-benchmark && tool/$DB/setup.sh'" +tool/ovh/ssh-exec.sh "'cd typedb-benchmark && tool/postgres/setup.sh'" tool/ovh/ssh-exec.sh "' cd typedb-benchmark && . venv/bin/activate && - nohup tool/execute-tpcc.sh --no-execute --reset --scalefactor=$SCALE_FACTOR --warehouses=$WAREHOUSES --clients=$CLIENTS --duration=$DURATION $DB & wait \$! + nohup tool/execute-tpcc.sh --no-execute --reset --scalefactor=$SCALE_FACTOR --warehouses=$WAREHOUSES --clients=$CLIENTS --duration=$DURATION --verify $DB & wait \$! '" tool/ovh/ssh-exec.sh "' cd typedb-benchmark && . venv/bin/activate && - nohup tool/execute-tpcc.sh --no-load --scalefactor=$SCALE_FACTOR --warehouses=$WAREHOUSES --clients=$CLIENTS --duration=$DURATION $DB & wait \$! + nohup tool/execute-tpcc.sh --no-load --scalefactor=$SCALE_FACTOR --warehouses=$WAREHOUSES --clients=$CLIENTS --duration=$DURATION --verify $DB & wait \$! '" From 8e1af3205581ccfcf3fef63120364fe19da8d061 Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Wed, 28 May 2025 12:01:09 +0100 Subject: [PATCH 22/31] sleep 0.5 is not always supported --- tool/neo4j/start-server.sh | 2 +- tool/typedb2/start-server.sh | 2 +- tool/typedb3/start-server.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tool/neo4j/start-server.sh b/tool/neo4j/start-server.sh index 1c8486dd..0a9ceb94 100755 --- a/tool/neo4j/start-server.sh +++ b/tool/neo4j/start-server.sh @@ -4,7 +4,7 @@ sudo nohup neo4j start >&/dev/null & # wait until ready set +e -POLL_INTERVAL_SECS=0.5 +POLL_INTERVAL_SECS=1 RETRY_NUM=20 while [[ $RETRY_NUM -gt 0 ]]; do lsof -i :7687 > /dev/null diff --git a/tool/typedb2/start-server.sh b/tool/typedb2/start-server.sh index 50ba7478..28f4e962 100755 --- a/tool/typedb2/start-server.sh +++ b/tool/typedb2/start-server.sh @@ -9,7 +9,7 @@ tmux new-session -d -s "typedb" "./$DISTRIBUTION_DIR/typedb server > ./$DISTRIBU # wait until ready set +e -POLL_INTERVAL_SECS=0.5 +POLL_INTERVAL_SECS=1 RETRY_NUM=20 while [[ $RETRY_NUM -gt 0 ]]; do lsof -i :1729 > /dev/null diff --git a/tool/typedb3/start-server.sh b/tool/typedb3/start-server.sh index 75fb0915..8ba33e5b 100755 --- a/tool/typedb3/start-server.sh +++ b/tool/typedb3/start-server.sh @@ -9,7 +9,7 @@ tmux new-session -d -s "typedb" "./$DISTRIBUTION_DIR/typedb server --diagnostics # wait until ready set +e -POLL_INTERVAL_SECS=0.5 +POLL_INTERVAL_SECS=1 RETRY_NUM=20 while [[ $RETRY_NUM -gt 0 ]]; do lsof -i :1729 > /dev/null From 97c8fa3468015012a11cf4ba1f053140100d3f00 Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Wed, 28 May 2025 12:02:41 +0100 Subject: [PATCH 23/31] silence misleading tar error --- tool/typedb3/install-server.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tool/typedb3/install-server.sh b/tool/typedb3/install-server.sh index 7a13e991..e8316f22 100755 --- a/tool/typedb3/install-server.sh +++ b/tool/typedb3/install-server.sh @@ -8,5 +8,5 @@ DISTRIBUTION_TARGZ="$DISTRIBUTION_DIR.tar.gz" DISTRIBUTION_URL_SNAPSHOT="https://repo.typedb.com/public/public-snapshot/raw/names/$DISTRIBUTION/versions/$SERVER_VERSION/$DISTRIBUTION_TARGZ" DISTRIBUTION_URL_RELEASE="https://repo.typedb.com/public/public-release/raw/names/$DISTRIBUTION/versions/$SERVER_VERSION/$DISTRIBUTION_TARGZ" -(curl -o "$DISTRIBUTION_TARGZ" "$DISTRIBUTION_URL_SNAPSHOT" && tar -xf "$DISTRIBUTION_TARGZ") || +(curl -o "$DISTRIBUTION_TARGZ" "$DISTRIBUTION_URL_SNAPSHOT" && tar -xf "$DISTRIBUTION_TARGZ" 2> /dev/null) || (curl -o "$DISTRIBUTION_TARGZ" "$DISTRIBUTION_URL_RELEASE" && tar -xf "$DISTRIBUTION_TARGZ") From bf8094ad4bcd93f6cd4c386b9facb12874d09e6f Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Wed, 28 May 2025 15:55:46 +0100 Subject: [PATCH 24/31] give typedb3 more time to boot --- tool/typedb3/start-server.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tool/typedb3/start-server.sh b/tool/typedb3/start-server.sh index 8ba33e5b..ca330779 100755 --- a/tool/typedb3/start-server.sh +++ b/tool/typedb3/start-server.sh @@ -10,7 +10,7 @@ tmux new-session -d -s "typedb" "./$DISTRIBUTION_DIR/typedb server --diagnostics # wait until ready set +e POLL_INTERVAL_SECS=1 -RETRY_NUM=20 +RETRY_NUM=120 while [[ $RETRY_NUM -gt 0 ]]; do lsof -i :1729 > /dev/null if [ $? -eq 0 ]; then exit 0; fi From c05b1aa1eb7b56a1a19b424007bc8a716ab6aa0b Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Fri, 30 May 2025 12:21:09 +0100 Subject: [PATCH 25/31] fix neo payment --- tpcc/pytpcc/drivers/neo4jdriver.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tpcc/pytpcc/drivers/neo4jdriver.py b/tpcc/pytpcc/drivers/neo4jdriver.py index 43d2799b..a95a38c8 100644 --- a/tpcc/pytpcc/drivers/neo4jdriver.py +++ b/tpcc/pytpcc/drivers/neo4jdriver.py @@ -694,7 +694,6 @@ def doPayment(self, params): MATCH (c:CUSTOMER {C_ID: $c_id}) -[:BELONGS_TO]-> (:DISTRICT {D_ID: $c_d_id}) -[:BELONGS_TO]-> (:WAREHOUSE {W_ID: $c_w_id}) - -[:BELONGS_TO]-> (:DISTRICT {D_ID: $c_d_id}) MATCH (d:DISTRICT {D_ID: $d_id}) -[:BELONGS_TO]-> (w:WAREHOUSE {W_ID: $w_id}) CREATE (h:HISTORY {H_C_ID: $c_id, H_C_D_ID: $c_d_id, H_C_W_ID: $c_w_id, H_D_ID: $d_id, H_W_ID: $w_id, H_DATE: $h_date, @@ -784,4 +783,4 @@ def get_counts(self): verification += "}" return verification -## CLASS \ No newline at end of file +## CLASS From 2a9e5de74531c8c12975bbd0597b4796fc4a4849 Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Fri, 30 May 2025 12:29:21 +0100 Subject: [PATCH 26/31] fix typedb3 log --- tool/typedb3/start-server.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tool/typedb3/start-server.sh b/tool/typedb3/start-server.sh index ca330779..a70ea003 100755 --- a/tool/typedb3/start-server.sh +++ b/tool/typedb3/start-server.sh @@ -5,7 +5,7 @@ source tool/typedb3/config.sh # start server DISTRIBUTION="typedb-all-linux-x86_64" DISTRIBUTION_DIR="$DISTRIBUTION-$SERVER_VERSION" -tmux new-session -d -s "typedb" "./$DISTRIBUTION_DIR/typedb server --diagnostics.reporting.metrics false > ./$DISTRIBUTION_DIR/log" +tmux new-session -d -s "typedb" "./$DISTRIBUTION_DIR/typedb server --diagnostics.reporting.metrics false >& ./$DISTRIBUTION_DIR/log" # wait until ready set +e From 1f46ff7fe29bc8de01bb3b89dd8ee8068240b909 Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Fri, 30 May 2025 12:29:28 +0100 Subject: [PATCH 27/31] ulimit for tdb3 --- tool/typedb3/start-server.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tool/typedb3/start-server.sh b/tool/typedb3/start-server.sh index a70ea003..f23d1eee 100755 --- a/tool/typedb3/start-server.sh +++ b/tool/typedb3/start-server.sh @@ -5,6 +5,7 @@ source tool/typedb3/config.sh # start server DISTRIBUTION="typedb-all-linux-x86_64" DISTRIBUTION_DIR="$DISTRIBUTION-$SERVER_VERSION" +ulimit -n 10240 tmux new-session -d -s "typedb" "./$DISTRIBUTION_DIR/typedb server --diagnostics.reporting.metrics false >& ./$DISTRIBUTION_DIR/log" # wait until ready From a92823717c30dea72587e5609518ea1cda2820b8 Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Fri, 30 May 2025 14:29:05 +0100 Subject: [PATCH 28/31] tdb3 latest server snapshot --- tool/typedb3/config.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tool/typedb3/config.sh b/tool/typedb3/config.sh index ce9d188b..7e3c624d 100755 --- a/tool/typedb3/config.sh +++ b/tool/typedb3/config.sh @@ -1,4 +1,4 @@ set -eu -SERVER_VERSION=3.2.0 +SERVER_VERSION=603f259726608076a001d57dcae0f7278d3d5028 DRIVER_VERSION=3.2.0 From 9ce0ed5fc56cd27be82d438f19aa3b10775e6b0f Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Mon, 2 Jun 2025 15:03:58 +0100 Subject: [PATCH 29/31] temporarily revert typedb to 3.2.0 --- tool/typedb3/config.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tool/typedb3/config.sh b/tool/typedb3/config.sh index 7e3c624d..ce9d188b 100755 --- a/tool/typedb3/config.sh +++ b/tool/typedb3/config.sh @@ -1,4 +1,4 @@ set -eu -SERVER_VERSION=603f259726608076a001d57dcae0f7278d3d5028 +SERVER_VERSION=3.2.0 DRIVER_VERSION=3.2.0 From cb098b4fad8d1dfda1e674608699f14ceca8b99e Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Fri, 6 Jun 2025 11:16:12 +0100 Subject: [PATCH 30/31] enable txns in mongo --- tpcc/pytpcc/drivers/mongodbdriver.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tpcc/pytpcc/drivers/mongodbdriver.py b/tpcc/pytpcc/drivers/mongodbdriver.py index 2741cd98..074cbb00 100644 --- a/tpcc/pytpcc/drivers/mongodbdriver.py +++ b/tpcc/pytpcc/drivers/mongodbdriver.py @@ -199,7 +199,7 @@ class MongodbDriver(AbstractDriver): "uri": ("The mongodb connection string or URI", "mongodb://localhost:27017"), "name": ("Database name", "tpcc"), "denormalize": ("If true, data will be denormalized using MongoDB schema design best practices", False), - "notransactions": ("If true, transactions will not be used (benchmarking only)", True), + "notransactions": ("If true, transactions will not be used (benchmarking only)", False), "findandmodify": ("If true, all things to update will be fetched via findAndModify", True), "secondary_reads": ("If true, we will allow secondary reads", True), "retry_writes": ("If true, we will enable retryable writes", True), From e7d00f1859d95ac9e3531366cfcbd99527b7ff3d Mon Sep 17 00:00:00 2001 From: Dmitrii Ubskii <18616863+dmitrii-ubskii@users.noreply.github.com> Date: Wed, 9 Jul 2025 09:52:06 +0100 Subject: [PATCH 31/31] latest tdb3 snapshot --- tool/typedb3/config.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tool/typedb3/config.sh b/tool/typedb3/config.sh index ce9d188b..b6ca64dc 100755 --- a/tool/typedb3/config.sh +++ b/tool/typedb3/config.sh @@ -1,4 +1,4 @@ set -eu -SERVER_VERSION=3.2.0 -DRIVER_VERSION=3.2.0 +SERVER_VERSION=cf3da89684083876900877bd2f95731e5ea4dceb +DRIVER_VERSION=3.4.0