Skip to content

A no-forward mode: every query is computed by ASAP, never by Prometheus #836

Closed

Description

@zzylol

Problem, by example

The data plane forwards a query to Prometheus whenever it can't answer it from the plan:

  • the query is not in the plan;
  • a stored pane or kept result is missing, e.g. older than its retention;
  • the evaluation time is off the pane grid;
  • the root can't be compiled.

In the ASAPQuery mixed-workload check, all 42 distinct quantile queries were forwarded this way (ASAPPlanner #770). The answer then comes from Prometheus, not from ASAP, and only the x-asap-execution: forwarded header shows it.

For evaluating ASAP, and for deployments that want every answer computed by ASAP, there should be a mode with no fallback to the database.

Expected

A data-plane flag, e.g. --no-forward. When it is set:

  • the data plane never forwards a query to Prometheus for computation;
  • a query it can't answer from the plan returns an error with the reason, using the same reasons as x-asap-forward-reason;
  • the control plane refuses to install a workload whose queries don't all get an executable plan;
  • raw samples may still be read from the local buffer or through Prometheus remote read. Only the computation must be ASAP's.

The benefit harness runs with this flag, so forwarded work can't hide in Prometheus' CPU.

Acceptance

  • A test with the flag set: an unplanned query, and an evaluation whose pane is missing, each return an error with the reason, and the stand-in Prometheus receives no query.
  • Without the flag, behavior is unchanged.

Activity

  1. added
    enhancementNew feature or request
    area: control planePlanning, configuration, routing, and control-plane orchestration
    area: data planeRuntime ingestion, storage, and query-serving data paths
    area: query enginePromQL lowering, execution, result shaping, and fallback behavior
    on Oct 20, 2026
  2. added a commit that references this issue on Oct 21, 2026
    297c4f1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: control planePlanning, configuration, routing, and control-plane orchestrationarea: data planeRuntime ingestion, storage, and query-serving data pathsarea: query enginePromQL lowering, execution, result shaping, and fallback behaviorenhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions