Skip to content

Releases: prestodb/pbench

v1.2.3

25 Mar 06:35

Choose a tag to compare

What's Changed

Fixes

  • Fix SQL identifier injection in table summary queries — column and table names are now properly quoted
  • Fix error handling: RowsAffected, CSV write errors, queryOutputFile.Close(), Float64Time null JSON
  • Propagate parent context in timeout wrappers instead of using context.Background()
  • Add HTTP client timeout (30s) for Pulumi API calls
  • Fix unused local variable (#82)
  • Fix explicit returns mixed with implicit (fall through) returns (#81)
  • Fix delete_run query

Improvements

  • Add pre-commit hook for fmt, vet, staticcheck, tests, and coverage
  • Exclude benchmarks from release tar

Dependencies

  • Update presto-go-client to v2.1.1 (renamed query_jsonqueryjson)
  • Bump filippo.io/edwards25519, golang.org/x/crypto, and other transitive deps

Performance

  • Add new version of stream run for 10TB from perf team (#78)

1.2.2

15 Mar 21:15

Choose a tag to compare

Switch to prestodb/presto-go-client/v2 (v2.0.0). Bump Go to 1.26.1. Bump GitHub Actions to Node.js 24 compatible versions.

1.2.1

24 Feb 05:32

Choose a tag to compare

genconfig Improvements

  • Generalized to use generic maps instead of hardcoded Go structs — adding new config fields no longer requires Go code changes, just JSON and template updates
  • .genconfigignore support — directories containing this marker file are skipped during config generation, allowing manually maintained configs to coexist with auto-generated ones
  • Skip empty template outputs — templates that render no output no longer create empty files
  • New template functions: mul, add, sub, div, min, max, floor, ceil, set, default, seq, hasSuffix, hasPrefix, contains
  • Repeatable -p flag for stacking multiple parameter files (later overrides earlier)
  • Computation logic moved from Go into .prelude templates using set(), making config generation fully data-driven
  • Spark template improvements: conditional generate_spark_config flag, SSD local dirs, GPU support

Bug Fixes

  • Disable CGO for cross-compiled builds to produce static binaries that run on older Linux distros (e.g., Debian Bullseye with glibc 2.31)

1.2

23 Feb 22:30

Choose a tag to compare

1.2

New Features

  • Parallel stream execution — stream_count parameter runs multiple parallel instances of a stage, each with its own random seed for deterministic replay
  • Directory expansion in query_files — entries pointing to directories are expanded to their contained files at execution time (after pre_stage_scripts), enabling dynamic query generation workflows (e.g., dsqgen)
  • no_random_duplicates — shuffled random execution that cycles through all queries before repeating any
  • Shell script environment variables — PBENCH_STAGE_ID, PBENCH_OUTPUT_DIR, PBENCH_QUERY_FILE, PBENCH_QUERY_ID, PBENCH_QUERY_ERROR, etc. are injected into all script hooks
  • pre_query_scripts — run scripts before each individual query execution
  • Auto-detect catalog/schema changes — child stages with different catalog/schema/timezone automatically create a new client
  • Custom stage IDs — id field in stage JSON
  • Generalized genddl — supports TPC-H and custom workloads, not just TPC-DS; paths resolved relative to config file
  • Glue catalog benchmark configs for Java/native engines

Bug Fixes

  • Fix data race on RandSeedUsed in concurrent stream goroutines
  • Fix post_query_cycle_scripts not running on abort
  • Fix concurrency bugs in stage package (multiple race conditions)
  • Fix SQL parameter mismatch in loadjson ORM
  • Fix cold/warm run value initialization and inheritance
  • Fix query forward tool synchronization issues
  • Fix x/net security vulnerability

Improvements

  • Migrated from internal presto package to presto-go library
  • CI pipeline with tests, coverage (50%+ threshold), linting, vulnerability scanning, and semantic commit checks
  • GitHub Actions release workflow with approval gate
  • Comprehensive test coverage for genconfig, queryplan, round, genddl
  • Staticcheck lint cleanup across codebase

1.1

04 Nov 05:25
659ba0e

Choose a tag to compare

1.1

November 2024

v1.0

04 Jun 08:21

Choose a tag to compare

Update README.md