fix(proxy): stop abandoning an unresolved inflight session-creation future - #1644
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0787a078a9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
0787a07 to
495ad8d
Compare
df1107f to
acc3726
Compare
acc3726 to
603506b
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7e077ce587
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
The core fix looks good: the one-line guard in One remaining blocker before this can merge: please drop commit 7e077ce ( Suggested path: rebase onto current main (which makes the compatibility hook unnecessary), drop 7e077ce, and re-run the suites. While rebasing, also double-check whether the |
|
@Komzpa this PR is first in the merge order for your stack and is one thread away from green: CI is passing on 7e077ce and it's mergeable, but the Codex P2 about the bundled last-used compatibility hook is still open. Could you drop that hook from this PR (it's the same bundling issue flagged across the stack) or reply on the thread if you believe it's load-bearing here? Once that's resolved I can merge this and move down the stack (#1648 → #1649 → ...). Saw the ty fix and green CI on #1645 — nice turnaround; the remaining scope there is the three non-outdated codex P1s on the cancellation-settlement surface. |
80d966d to
795ed62
Compare
795ed62 to
0e3246d
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 932dc97326
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b1cc7a3666
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
|
Codex Review: Didn't find any major issues. Can't wait for the next one! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
Thanks — confirmed the compatibility-hook commit is gone (no api_keys changes remain in the diff), the reuse-path guard matches what was approved, Codex is clean on 09879d2, and CI Required is green. One last mechanical step: #1680 (goal-restart recovery across reconnects) merged on 08-15 and now conflicts with this branch in app/modules/proxy/_service/http_bridge/mixin.py — in the same region as the reuse-path guard. Please rebase onto current main and re-verify the |
|
Warning Review limit reached
Next review available in: 41 minutes Limit details: You’ve used all 3 included reviews currently available under your plan. Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (14)
Comment |
On the previous-response reuse path, the HTTP bridge set
session_to_return_after_closewithout clearinginflight_future, so a later create-chain arm published a session-creation future and then returned an existing session — leaving the future registered and never resolved. The janitor only evictsfuture.done()entries (pinned by an existing test), so the anchor stays wedged forever:http_bridge_restart_blockingpins True and the next request on that anchor gets a permanent 502. This was unconditional on that path, not a race.Fix: the reuse path no longer publishes an inflight creation future. Regression fails on origin/main (permanent 502 / restart_blocking stuck) and passes with the fix; the existing janitor test still passes; 471 unit + 120 integration green (the 2 pre-existing reconnect failures reproduce unchanged on origin/main).