Skip to content

Commit

Permalink
Fixed Iterate tags on Parquet Benchmarks (#333)
Browse files Browse the repository at this point in the history
* Fixed Iterate tags

* Added smoke test script
  • Loading branch information
stanbrub authored Aug 2, 2024
1 parent 17ae7de commit f877fc6
Show file tree
Hide file tree
Showing 6 changed files with 88 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
* Standard tests for writing single column CSV for different column types.
*/
@TestMethodOrder(OrderAnnotation.class)
@Tag("Iterate")
class CsvColTypeTest {
final FileTestRunner runner = new FileTestRunner(this);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
* the "read" tests.
*/
@TestMethodOrder(OrderAnnotation.class)
@Tag("Iterate")
class CsvMultiColTest {
final String[] usedColumns = {"str10K", "long10K", "int10K", "short10K"};
final FileTestRunner runner = new FileTestRunner(this);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
* Standard tests for writing single column parquet for different column types.
*/
@TestMethodOrder(OrderAnnotation.class)
@Tag("Iterate")
class ParquetColTypeTest {
final FileTestRunner runner = new FileTestRunner(this);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
* generated by the "write" tests is used by the "read" tests.
*/
@TestMethodOrder(OrderAnnotation.class)
@Tag("Iterate")
class ParquetMultiColTest {
final String[] usedColumns = {"str10K", "long10K", "int10K", "short10K", "bigDec10K", "intArr5", "intVec5"};
final FileTestRunner runner = new FileTestRunner(this);
Expand All @@ -19,7 +20,6 @@ void setup() {

@Test
@Order(1)
@Tag("Iterate")
void writeMultiColSnappy() {
runner.runParquetWriteTest("ParquetWrite- Snappy Multi Col -Static", "SNAPPY", usedColumns);
}
Expand All @@ -32,7 +32,6 @@ void readMultiColSnappy() {

@Test
@Order(3)
@Tag("Iterate")
void writeMultiColZstd() {
runner.runParquetWriteTest("ParquetWrite- Zstd Multi Col -Static", "ZSTD", usedColumns);
}
Expand All @@ -45,7 +44,6 @@ void readMultiColZstd() {

@Test
@Order(5)
@Tag("Iterate")
void writeMultiColLzo() {
runner.runParquetWriteTest("ParquetWrite- Lzo Multi Col -Static", "LZO", usedColumns);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@

# Deephaven engine address (same one the UI uses)
deephaven.addr=localhost:10000

# External java client address (Barrage Java Client)
client.redpanda.addr=localhost:9092

# External ReST schema registry supporting kafka (Kafka Producer)
client.schema.registry.addr=localhost:8081

# Internal ReST schema registry (Use in query scripts for kafka consume)
schema.registry.addr=redpanda:8081
#schema.registry.addr=localhost:8081

# Internal kafka consumer address (Use in query scripts for kafka consume)
kafka.consumer.addr=redpanda:29092
#kafka.consumer.addr=localhost:29092

# Default timeout to complete processes (Executing queries, generating records)
default.completion.timeout=20 minutes

# Default data distribution for column data (random, ascending, descending, runlength)
default.data.distribution=random

# Slows down record generation (Used for experiments not full test runs)
generator.pause.per.row=0 millis

# Compression used for generating and storing records (ZSTD, LZ4, LZO, GZIP, SNAPPY, NONE)
record.compression=ZSTD

# Row count to scale tests (Tests can override but typically do not)
scale.row.count=100000

# True: Use a timestamp for the parent directory of each test run
# False: Overwrite previous test results for each test run
# Blank: Overwrite if JUnit launch, timestamp if Benchmark main launch
timestamp.test.results=

# Experimental: Docker compose file (e.g. /mypath/docker-compose.yml
docker.compose.file=

# The url used for posting notifications to slack
slack.token=

# The channel to post notifications to
slack.channel=

Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/usr/bin/env bash

set -o errexit
set -o pipefail
set -o nounset

# Smoke test ready-for-merge benchmark changes. Attempts to do something similar to the test ordering that would
# occur when nightly or release run, then does it the adhoc or compare categories are run.

cp /home/stan/Git/benchmark/target/deephaven-benchmark*.jar .
rm -rf /home/stan/Data/benchmark/results

rm -f /home/stan/Deephaven/deephaven-edge/data/*.def
rm -f /home/stan/Deephaven/deephaven-edge/data/*.parquet

JAVA_OPTS="-Dbenchmark.profile=scale-benchmark.properties -jar deephaven-benchmark-1.0-SNAPSHOT.jar -cp deephaven-benchmark-1.0-SNAPSHOT-tests.jar"

# Run all benchmarks except tagged then run tagged benchmarks with iterations (Similar to what release and nightly do)
java ${JAVA_OPTS} -p io.deephaven.benchmark.tests.standard -n "^.*[.].*Test.*$" -T Iterate

ITERATIONS=3
for i in `seq 1 ${ITERATIONS}`
do

echo "*** Starting Iteration: $i ***"
java ${JAVA_OPTS} -p io.deephaven.benchmark.tests.standard -t Iterate

done

# Publish accumulated results for scores to slack
java -Dbenchmark.profile=smoke-test-scale-benchmark.properties -jar deephaven-benchmark-1.0-SNAPSHOT.jar publish

# Run all benchmarks regardless of tag (Similar to what adhoc and compare do)
rm -f /home/stan/Deephaven/deephaven-edge/data/*.def
rm -f /home/stan/Deephaven/deephaven-edge/data/*.parquet

java ${JAVA_OPTS} -p io.deephaven.benchmark.tests.standard -n "^.*[.].*Test.*$"

0 comments on commit f877fc6

Please sign in to comment.