Support v2 gapfill server-side execution #17533
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Add server‑side gapfill support for the v2 engine, including query‑option plumbing, server response handling, and multi‑stage plan/runtime integration.
Key Changes
Introduce
serverSideGapfillandserverSideGapfillQueryquery options, plus serialization/deserialization of the original PinotQuery for gapfill evaluation.Broker handlers (single‑stage and multi‑stage) detect eligible gapfill queries and inject server‑side gapfill options with routing/partition checks.
Server‑side execution uses new
GapfillInstanceResponseOperatorandGapfillInstanceResponsePlanNode; v2 plan maker wires them in.Runtime/leaf planning strips
GAPFILLwhere needed and applies gapfill inTransformOperatorfor MSE.Gapfill reducers and DateTimeConvert updated to align server‑side gapfill behavior; add
GapfillIntegrationTestcoverage.