You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
A no-forward mode: every query is computed by ASAP, never by Prometheus #836
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.
Activity
feat(data-plane): --no-forward: every answer computed by ASAP