Skip to content

Add big5-ppl workload to nightly build and public website #5706

@noCharger

Description

@noCharger

Summary

Add the ppl test procedure to the nightly build pipeline and make it available on the public OpenSearch Benchmark website. https://opensearch.org/benchmarks/

Background

The big5 workload currently includes a ppl test procedure that runs PPL (Piped Processing Language) queries against the big5 dataset. This procedure tests the SQL plugin functionality with comprehensive PPL operations including:

  • Basic PPL queries (default, term, range)
  • Sorting operations with timestamp fields
  • Aggregations (date histogram, composite terms)
  • Complex query operations (query string, range fields)
  • Performance-critical operations (scroll, sort with various configurations)

Requested Changes

1. Add to Nightly Build

  • Include ppl workload in the automated nightly build pipeline
  • Ensure the SQL plugin is available in the test environment
  • Configure appropriate test parameters for nightly execution
  • Create dashboards to observe benchmark, same as existing big5

2. Add to Public Website

Technical Details

  • Description: "Indexes the whole document corpus using OpenSearch default settings and runs PPL (Piped Processing Language) queries. Requires the SQL plugin to be installed."
  • Workload: big5
  • Test Procedure: ppl
  • Env setup: same as the Big5 DSL benchmark setup by default. The cluster should have SQL plugin installed.
    • OS Version: OS3.3 to track nightly build
  • Dashboard setup: same as big5 dsl benchmark dashboard setup by default
  • Operations: 40+ PPL operations covering various query patterns and performance scenarios
  • Benchmark steps: same as big5 dsl benchmark execution by default
  1. Calcite disabled benchmark
opensearch-benchmark run \
  --workload-path="$WORKLOAD_PATH" \
  --target-host=$HOST \
  --test-procedure=ppl \
  --workload-params="target_throughput:0" \                        # should be the same as big5 dsl benchmark
  --client-options="timeout:300,max_connections:1024" \   # should be the same as big5 dsl benchmark
  --pipeline=benchmark-only
  1. Calcite enabled benchmark

Enable calcite with cluster setting:

curl -XPUT "http://localhost:9200/_cluster/settings" \
-H "Content-Type: application/json" \
-d'{
  "persistent": {
    "plugins.calcite.enabled": true
  }
}'

Execute the benchmark (same as above)

Acceptance Criteria

  • big5-ppl workload runs successfully in nightly builds
  • Results are accessible and dashboards are created
  • Dashboard is listed on the public OpenSearch Benchmark website

Additional Context

The PPL test procedure is already implemented and includes comprehensive test coverage with configurable parameters for warmup iterations, target throughput, and client connections. This addition would provide valuable insights into PPL query performance and help identify regressions in the SQL plugin functionality.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

✅ Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions