Skip to content

feat(asap-tools): support sub-second exact-MV E2E query intervals #876

Open

Description

@milindsrivastava1997

Goal

Allow the sketch-bench E2E ClickHouse exact materialized-view (baseline_mv) arm to execute queries with a 100 ms repetition interval, so the five-system accelerated random-workload experiment can include the 100 ms spatial query class.

Current limitation

The merged #845 MV renderer uses integer interval_secs values and T-second buckets. It models an instant vector as a 1 s latest-sample window and admits an MV only when window_secs % interval_secs == 0. A workload with a 100 ms query interval therefore has no baseline_mv arm.

This is an experiment-runner/rendering limitation, not a ClickHouse limitation: the raw table already uses DateTime64(3).

Scope

  • Carry query repetition intervals in milliseconds through the E2E table/config/client path while preserving current second-based inputs.
  • Create and query baseline_mv buckets at millisecond resolution using DateTime64(3)-safe flooring and boundary expressions.
  • Make instant-vector selection exact for the configured 100 ms scrape/lookback semantics.
  • Preserve exact range semantics, including the closed PromQL left boundary and the existing edge-row handling.
  • Update MV eligibility to use millisecond units.
  • Add raw-vs-MV equivalence tests at 100 ms intervals, including instant selectors and at least one range query.
  • Verify the generated ClickHouse client config can schedule a 100 ms query group and align explicit evaluation times.

Acceptance criteria

  • A workload containing a 100 ms-query-cadence spatial query produces both baseline and baseline_mv ClickHouse configs.
  • The MV and raw ClickHouse answers agree at fixed millisecond-aligned evaluation timestamps.
  • Existing whole-second workloads and their generated SQL/configs remain supported.
  • The five-system E2E workload preflight accepts the 100 ms spatial class.

Context

This unblocks the accelerated random-workload E2E plan: ten workloads, each with ten atomic queries, against ASAPQuery, Prometheus, VictoriaMetrics, raw ClickHouse, and ClickHouse+MV.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions