Repository navigation
revert: remove cross-target render prefetch (#582) - #584
Merged
Merged
Conversation
deniszh
approved these changes
Oct 22, 2026
grzkv
approved these changes
Oct 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Why
Revert the runtime change from #582 while continuing the tail-latency investigation. Overlapping backend reads helped multi-target requests in the canary, but the measurements did not establish an overall p99/p99.9 improvement. Follow-up observations still do not justify retaining the extra speculative backend work across the fleet.
This is a conservative rollback of request scheduling, not a claim that prefetch caused the backend deadline failures. Those failures were also observed with the previous implementation. Restoring the prior scheduling provides a known baseline for a controlled comparison.
Architecture
The render handler again parses, fetches, and evaluates top-level targets in request order through the existing worker queues. It no longer starts request-scoped futures for the static inputs of later targets. Remove the prefetch implementation and its dedicated tests along with the handler integration.
The application runtime source returns exactly to the pre-#582 revision. The separate test-only commit from that PR is deliberately retained:
d4101eeincreased the race-test package timeout from 10s to 60s because the existing streaming-decoder oracle exceeded 10s on CI runners. Reverting that timeout would restore an unrelated CI failure and would not affect the deployed binary.The five existing backend/render performance switches, their implementations, backend timeouts, worker limits, and configured batching remain unchanged. The defaults change in #583 is separate and can be reviewed independently; its diff also applies cleanly after this revert.
Before / after
Validation
c397263except for the retained Makefile test timeout.golangci-lint run: zero issues.No production rollback has been performed by this PR. After merge, deploy through the normal release process and compare warmed p99/p99.9, errors, traffic, and per-request resource use. Keep the five existing
=1service overrides until a defaults-enabled binary is deployed.