[PRIV-644] Add pending requests to relay DON caching in addition to completed ones - #23660
[PRIV-644] Add pending requests to relay DON caching in addition to completed ones#23660vreff wants to merge 5 commits into
Conversation
|
👋 vreff, thanks for creating this pull request! To help reviewers, please consider creating future PRs as drafts first. This allows you to self-review and make any final changes before notifying the team. Once you're ready, you can mark it as "Ready for review" to request feedback. Thanks! |
|
✅ No conflicts with other open PRs targeting |
|
I see you updated files related to
|
| // A retry that arrives while the original execution is still in flight | ||
| // waits on it and responds with the owner's result rather than | ||
| // re-executing. | ||
| pending, err := h.checkOrCreatePendingRequest(key) |
There was a problem hiding this comment.
what happens if the execution handler lookup times out, then the execution registers? we've inserted a pending entry in checkOrCreatePendingRequest, but the error path doesn't complete or remove it -would a retry find that entry and wait until its own deadline instead of using the now-registered execution handler?
There was a problem hiding this comment.
Seems like in any error path we don't release the pending request, causing an awkward timeout on every listener. Will fix in a few minutes.
|




pendingRequestscache, such that if a capability call is in-flight while a retry comes in, it is gracefully waited for, rather than retried at the DON-to-DON layer (which would return a terminal error).