Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Bug]: Router hides the final resume error when the retry budget expires

Open Beginner friendly
#2,245 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
75/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
go
Domain
api, backend

Research direction

Read cmd/atenet/internal/router/ingress/resumer.go, especially flightResult, and inspect the existing ingress test client and tests using testing/synctest. Reproduce the sequence with parking enabled, then check that when the retry budget expires the final NotFound error is returned rather than the earlier ResourceExhausted error.

Written by the indexing model from the issue text.

Description

area/network kind/bug
What happened?

With request parking enabled, the router can return an earlier capacity error even after a retry returns NotFound. The client then gets HTTP 503 instead of 404.

This is reproducible in a unit test. When the budget has expired, flightResult returns the saved lastRetryErr instead of the final RPC error.

Expected Behavior

Return the final non-retryable error, even if the RPC finishes after the retry budget expires.

Steps to Reproduce

Using the existing ingress test client and testing/synctest:

  1. Enable parking with a 300 ms budget.
  2. Return ResourceExhausted from the first ResumeActor call.
  3. On the next call, sleep for 300 ms and return NotFound.
  4. The resumer returns ResourceExhausted instead of NotFound.
expected terminal error rpc error: code = NotFound desc = actor not found, got rpc error: code = ResourceExhausted desc = no free workers available
Sandbox Runtime

Both / Runtime Agnostic. Reproduced in a unit test; no cluster involved.

Agent Substrate Version / Commit SHA

main at fa858d0fdbec0e942e43667dba75194665a2ff38, macOS arm64, Go 1.27.0.

Additional Context

Related to #1562, but this case already returns an error the router considers non-retryable.

Dominant language
Go
Stars
4.4k
Forks
515
Avg merge
2d 10h
Merged PRs (30d)
311

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from agent-substrate/substrate

All issues in agent-substrate/substrate

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.