Skip to content

feat(asap-tools): let ClickHouse E2E run a frozen planner output #859

Closed

Description

@milindsrivastava1997

Problem\n\nexperiment_run_e2e supports controller.prebuilt_output_dir: it skips asap-planner and deploys the supplied streaming_config.yaml and inference_config.yaml. experiment_run_clickhouse.py always generates planner_input.yaml and invokes asap-planner in sketchdb mode.\n\nThis prevents a reproducible ClickHouse/ASAPQuery evaluation from executing a deployment chosen in a separate MILP planning step. It also makes planner time/configuration part of every measurement run.\n\n## Proposed change\n\nWhen controller.prebuilt_output_dir is set, mirror experiment_run_e2e:\n\n- copy and validate streaming_config.yaml and inference_config.yaml with config.copy_prebuilt_controller_output;\n- rsync that output to the controller directory;\n- do not generate planner_input.yaml or start ControllerService;\n- start query_engine_rust with the copied output as today.\n\nRetain the existing generated-planner path when the setting is unset.\n\n## Acceptance criteria\n\n- A ClickHouse sketchdb run with controller.prebuilt_output_dir does not invoke asap-planner.\n- It deploys the supplied configs and executes the SQL workload through query_engine_rust.\n- The runner fails clearly if the directory lacks either config or its inference config is not SQL.\n- A unit test covers both the prebuilt and normal planner paths.\n- Documentation includes a command/config example for a separately generated SQL MILP plan.\n\n## Evaluation relevance\n\nThis is needed to execute a frozen planner decision consistently while comparing ASAPQuery with raw ClickHouse and ClickHouse materialized views.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions