Skip to content

Commit b121090

Browse files
authored
feat: DH-20317: Move wildcard test case into java (#409)
* First pass at wildcards for test cases * Change test case regex to wildcard * Add debug for bad command * Add debug for bad command * Quoting issues * Cleaned up naming from regex * Echo run benchmark arguments * Debug code * Try disabling wildcard expansion * fixed tabs * Sigh * more debug for asterisk * Trial and error for asterisk passing * Again * Again * Debug * Debug * Debug * Debug * Try ampersand with args * More asterisk fun * Debug asterisk * More asterisk debug * Asterisk * a1000 * a1001 * a1002 * a1003 * a1004 * a1005 * a1006 * spaces again * Upgraded the barrage client and other versions * Updated adhoc docker service versions * Updated docker compose versions * Remvoed Keyed Transpose experimental test. * Removed some debug * Removed more debug
1 parent de32082 commit b121090

20 files changed

+141
-76
lines changed

.github/distro/benchmark.sh

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ if [[ $# != 2 ]]; then
2929
fi
3030

3131
ITERATIONS=$1
32-
TEST_WILD=$2
32+
TEST_WILD="$2"
3333
BENCH_MAIN="io.deephaven.benchmark.run.BenchmarkMain"
3434
TEST_PACKAGE="io.deephaven.benchmark.tests.standard"
3535

@@ -43,19 +43,12 @@ sudo docker compose up -d
4343
sleep 5
4444
set -f
4545

46-
TEST_REGEX="^.*[.]("
47-
for r in $(echo "${TEST_WILD}" | sed 's/\s*,\s*/ /g'); do
48-
TEST_REGEX="${TEST_REGEX}"$(echo "(${r}Test)|" | sed 's/\*/.*/g')
49-
done
50-
TEST_REGEX=$(echo ${TEST_REGEX} | sed -E 's/\|+$//g')
51-
TEST_REGEX="${TEST_REGEX})$"
52-
5346
for i in `seq 1 ${ITERATIONS}`
5447
do
5548

5649
echo "*** Starting Iteration: $i ***"
5750

58-
java -Dbenchmark.profile=benchmark.properties -cp "libs/*" ${BENCH_MAIN} -p ${TEST_PACKAGE} -n "${TEST_REGEX}"
51+
java -Dbenchmark.profile=benchmark.properties -cp "libs/*" ${BENCH_MAIN} -p ${TEST_PACKAGE} -n "${TEST_WILD}"
5952

6053
done
6154

.github/resources/adhoc-benchmark-docker-compose.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ services:
2525
- PLAINTEXT://redpanda:29092,OUTSIDE://localhost:9092
2626
- --pandaproxy-addr 0.0.0.0:8082
2727
- --advertise-pandaproxy-addr redpanda:8082
28-
image: redpandadata/redpanda:v25.1.2
28+
image: redpandadata/redpanda:v25.2.5
2929
ports:
3030
- 8081:8081
3131
- 8082:8082
3232
- 9092:9092
3333
- 29092:29092
3434

3535
minio-server:
36-
image: minio/minio:RELEASE.2025-04-22T22-12-26Z
36+
image: minio/minio:RELEASE.2025-09-07T16-13-09Z
3737
command: server /minio --console-address ":9001"
3838
hostname: minio
3939
environment:
@@ -59,7 +59,7 @@ services:
5959
- ./minio:/minio
6060

6161
minio-bucket:
62-
image: minio/mc:RELEASE.2025-04-16T18-13-26Z
62+
image: minio/mc:RELEASE.2025-08-13T08-35-41Z
6363
depends_on:
6464
- minio-server
6565
entrypoint: >

.github/resources/compare-benchmark-docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ services:
2424
- PLAINTEXT://redpanda:29092,OUTSIDE://localhost:9092
2525
- --pandaproxy-addr 0.0.0.0:8082
2626
- --advertise-pandaproxy-addr redpanda:8082
27-
image: redpandadata/redpanda:v25.1.2
27+
image: redpandadata/redpanda:v25.2.5
2828
ports:
2929
- 8081:8081
3030
- 8082:8082

.github/resources/integration-docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ services:
2424
- PLAINTEXT://redpanda:29092,OUTSIDE://localhost:9092
2525
- --pandaproxy-addr 0.0.0.0:8082
2626
- --advertise-pandaproxy-addr redpanda:8082
27-
image: redpandadata/redpanda:v25.1.2
27+
image: redpandadata/redpanda:v25.2.5
2828
ports:
2929
- 8081:8081
3030
- 8082:8082

.github/resources/nightly-benchmark-docker-compose.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ services:
2525
- PLAINTEXT://redpanda:29092,OUTSIDE://localhost:9092
2626
- --pandaproxy-addr 0.0.0.0:8082
2727
- --advertise-pandaproxy-addr redpanda:8082
28-
image: redpandadata/redpanda:v25.1.2
28+
image: redpandadata/redpanda:v25.2.5
2929
ports:
3030
- 8081:8081
3131
- 8082:8082
3232
- 9092:9092
3333
- 29092:29092
3434

3535
minio-server:
36-
image: minio/minio:RELEASE.2025-04-22T22-12-26Z
36+
image: minio/minio:RELEASE.2025-09-07T16-13-09Z
3737
command: server /minio --console-address ":9001"
3838
hostname: minio
3939
environment:
@@ -59,7 +59,7 @@ services:
5959
- ./minio:/minio
6060

6161
minio-bucket:
62-
image: minio/mc:RELEASE.2025-04-16T18-13-26Z
62+
image: minio/mc:RELEASE.2025-08-13T08-35-41Z
6363
depends_on:
6464
- minio-server
6565
entrypoint: >

.github/resources/release-benchmark-docker-compose.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ services:
2525
- PLAINTEXT://redpanda:29092,OUTSIDE://localhost:9092
2626
- --pandaproxy-addr 0.0.0.0:8082
2727
- --advertise-pandaproxy-addr redpanda:8082
28-
image: redpandadata/redpanda:v25.1.2
28+
image: redpandadata/redpanda:v25.2.5
2929
ports:
3030
- 8081:8081
3131
- 8082:8082
3232
- 9092:9092
3333
- 29092:29092
3434

3535
minio-server:
36-
image: minio/minio:RELEASE.2025-04-22T22-12-26Z
36+
image: minio/minio:RELEASE.2025-09-07T16-13-09Z
3737
command: server /minio --console-address ":9001"
3838
hostname: minio
3939
environment:
@@ -59,7 +59,7 @@ services:
5959
- ./minio:/minio
6060

6161
minio-bucket:
62-
image: minio/mc:RELEASE.2025-04-16T18-13-26Z
62+
image: minio/mc:RELEASE.2025-08-13T08-35-41Z
6363
depends_on:
6464
- minio-server
6565
entrypoint: >

.github/scripts/adhoc.sh

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -57,22 +57,6 @@ if [[ ${ACTION} == "make-labels" ]]; then
5757
echo "SET_LABEL_2=${LABEL2}" | tee -a ${OUTPUT_NAME}
5858
fi
5959

60-
# Make a regex from a list of wilcarded test class names
61-
if [[ ${ACTION} == "make-test-regex" ]]; then
62-
WILDCARDS=$2
63-
echo "Making Test Regex: ${WILDCARDS}"
64-
65-
TEST_REGEX="^.*[.]("
66-
for r in $(echo ${WILDCARDS} | sed 's/\s*,\s*/ /g'); do
67-
TEST_REGEX="${TEST_REGEX}"$(echo "(${r}Test)|" | sed 's/\*/.*/g')
68-
done
69-
TEST_REGEX=$(echo ${TEST_REGEX} | sed -E 's/\|+$//g')
70-
TEST_REGEX="${TEST_REGEX})$"
71-
72-
echo "WILDCARDS=${WILDCARDS}" | tee -a ${OUTPUT_NAME}
73-
echo "TEST_CLASS_REGEX=${TEST_REGEX}" | tee -a ${OUTPUT_NAME}
74-
fi
75-
7660
# Format some number used for scaling the tests
7761
if [[ ${ACTION} == "scale-nums" ]]; then
7862
INPUT_ROW_COUNT=$2

.github/scripts/run-benchmarks-remote.sh

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
set -o errexit
44
set -o pipefail
55
set -o nounset
6+
set -f
67

78
# Copyright (c) 2023-2024 Deephaven Data Labs and Patent Pending
89

@@ -13,7 +14,7 @@ set -o nounset
1314
# Note: Assumes the deephaven-benchmark-*.jar artifact has been built and placed
1415

1516
if [[ $# != 6 ]]; then
16-
echo "$0: Missing run type, test package, test regex, row count, distribution, or tag name"
17+
echo "$0: Missing run type, test package, test classes, row count, distribution, or tag name"
1718
exit 1
1819
fi
1920

@@ -39,9 +40,11 @@ title "- Running Remote Benchmark Artifact on ${HOST} -"
3940
cd ${DEEPHAVEN_DIR};
4041

4142
title "-- Running Benchmarks --"
43+
set +f
4244
cd ${RUN_DIR}
4345
cat ${RUN_TYPE}-scale-benchmark.properties | sed 's|${baseRowCount}|'"${ROW_COUNT}|g" | sed 's|${baseDistrib}|'"${DISTRIB}|g" > scale-benchmark.properties
44-
JAVA_OPTS="-Dbenchmark.profile=scale-benchmark.properties -jar deephaven-benchmark-*-standalone.jar -cp standard-tests.jar"
46+
JAVA_OPTS=$(echo -Dbenchmark.profile=scale-benchmark.properties -jar deephaven-benchmark-*-standalone.jar -cp standard-tests.jar)
47+
set -f
4548

4649
if [ "${TAG_NAME}" = "Any" ]; then
4750
java ${JAVA_OPTS} -p ${TEST_PACKAGE} -n "${TEST_PATTERN}"

.github/scripts/run-ssh-local.sh

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
set -o errexit
44
set -o pipefail
55
set -o nounset
6+
set -f
67

78
# Copyright (c) 2023-2024 Deephaven Data Labs and Patent Pending
89

@@ -11,8 +12,8 @@ set -o nounset
1112
# remote scripts in single-quotes to avoid syntax errors.
1213

1314
if [[ $# -lt 4 ]]; then
14-
echo "$0: Missing host, user, script dir, or script name argument"
15-
exit 1
15+
echo "$0: Missing host, user, script dir, or script name argument"
16+
exit 1
1617
fi
1718

1819
HOST=$1
@@ -25,4 +26,4 @@ for i in ${@:5}; do
2526
args+=("'"$i"'")
2627
done
2728

28-
ssh -o 'ServerAliveInterval 60' ${USER}@${HOST} 'bash -s' "${args[*]}" < ${SCRIPT_DIR}/${SCRIPT_NAME}.sh |& tee logs/${SCRIPT_NAME}.log
29+
ssh -o 'ServerAliveInterval 60' ${USER}@${HOST} 'bash -s' -- "${args[@]}" < ${SCRIPT_DIR}/${SCRIPT_NAME}.sh |& tee logs/${SCRIPT_NAME}.log

.github/workflows/adhoc-auto-remote-benchmarks.yml

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ jobs:
5858
outputs:
5959
set_label_1: ${{ steps.make-labels.outputs.SET_LABEL_1 }}
6060
set_label_2: ${{ steps.make-labels.outputs.SET_LABEL_2 }}
61-
test_class_regex: "${{ steps.make-test-regex.outputs.TEST_CLASS_REGEX }}"
6261
metal_device_id: ${{ steps.deploy-metal.outputs.DEVICE_ID }}
6362
metal_device_name: ${{ steps.deploy-metal.outputs.DEVICE_NAME }}
6463
metal_ip_addr: ${{ steps.deploy-metal.outputs.DEVICE_ADDR }}
@@ -80,12 +79,6 @@ jobs:
8079
${SD}/adhoc.sh make-labels ${{ inputs.set_label_prefix }} ${{ inputs.docker_image_1 }} ${{ inputs.docker_image_2 }}
8180
cat adhoc-make-labels.out >> "$GITHUB_OUTPUT"
8281
83-
- name: Make Wildcard Regex
84-
id: make-test-regex
85-
run: |
86-
${SD}/adhoc.sh make-test-regex "${{ inputs.test_class_list }}"
87-
cat adhoc-make-test-regex.out >> "$GITHUB_OUTPUT"
88-
8982
- name: Scale Input Numbers
9083
id: scale-nums
9184
run: |
@@ -114,7 +107,7 @@ jobs:
114107
docker_image: ${{ inputs.docker_image_1 }}
115108
run_label: ${{ needs.setup-benchmark-system.outputs.set_label_1 }}
116109
test_package: "io.deephaven.benchmark.tests.standard"
117-
test_class_regex: "${{ needs.setup-benchmark-system.outputs.test_class_regex }}"
110+
test_class_list: "${{ inputs.test_class_list }}"
118111
test_iterations: ${{ needs.setup-benchmark-system.outputs.test_iterations }}
119112
scale_row_count: ${{ needs.setup-benchmark-system.outputs.test_row_count }}
120113
distribution: ${{ inputs.distribution }}
@@ -130,7 +123,7 @@ jobs:
130123
docker_image: ${{ inputs.docker_image_2 }}
131124
run_label: ${{ needs.setup-benchmark-system.outputs.set_label_2 }}
132125
test_package: "io.deephaven.benchmark.tests.standard"
133-
test_class_regex: "${{ needs.setup-benchmark-system.outputs.test_class_regex }}"
126+
test_class_list: "${{ inputs.test_class_list }}"
134127
test_iterations: ${{ needs.setup-benchmark-system.outputs.test_iterations }}
135128
scale_row_count: ${{ needs.setup-benchmark-system.outputs.test_row_count }}
136129
distribution: ${{ inputs.distribution }}

0 commit comments

Comments
 (0)