Repository navigation
Prevent Pekko callbacks from retaining request contexts - #12675
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
🟢 Java Benchmark SLOs — All performance SLOs passed
PR vs. master results
Commit: Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion. |
|
(Comment drafted by Claude on behalf of @dougqh.) Question on scope: Is leaving Akka out intentional, for example because it does not reproduce there or because you want to keep this PR small? If it is just a follow-up, it might be worth filing an issue so it does not get lost. I have not tried to reproduce the Akka leak, so this is a question rather than a confirmed bug. |
Yes I had a look to akka without finding the same evidence. So I left for follow up. Here I just would like to correct what I observed that is failing in CI (this is actually a flaky test behaviour that we'd like to fix and the diagnostic gave us few hint to understand and propose a fix) |
936eb21 to
fdf889e
Compare
|
/merge |
|
View all feedbacks in Devflow UI.
The expected merge time in
|
What Does This Do
Fix a continuation leak in Pekko HTTP async handlers.
When an application
Futurecompleted with the request context active, the future returned to Pekko could run framework callbacks under that context. A Pekko actor envelope could then capture the request continuation and retain it indefinitely if the envelope was discarded.The fix:
Promiseto Pekko and completes it under the root contextTryin completion-priority mode so attached context cannot reach PekkoThe implementation is based on Alexey K.'s existing unmerged
alexeyk/pekko-fixwork and has been adapted to the current codebase.Motivation
Closes #9396
Additional Notes
Contributor Checklist
type:and (comp:orinst:) labels in addition to any other useful labelsclose,fix, or any linking keywords when referencing an issueUse
solvesinstead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]