Skip to content

Search backend: pass runtime dependencies at runtime

Administrator requested to merge backend-integration/cc/stateless-jobs into main

Created by: camdencheek

This brings us most of the way to a static query execution plan. In particular, it modifies search jobs to accept a job.RuntimeDependencies struct for their Run methods and removes all runtime clients from the search job structs.

This is valuable because it reduces the dependency requirements of the Plan step of query execution, greatly simplifying the set of values that need to be passed through the tree. The eventual goal is a clean separation between the Plan step and the Run step.

Each commit is pretty independent, but I would not recommend reviewing commit-by-commit since there are many. The commits were mostly me making jumps between islands of passing typechecks.

Stacked on #33741

Test plan

Should be fully semantics preserving, but I'm relying pretty heavily on backend integration tests here. I did do some light manual testing.

Merge request reports

Loading