Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン 初心者向け
#2,245 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
75/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
go
領域
api, backend

調査の方向性

cmd/atenet/internal/router/ingress/resumer.go、特に flightResult を読み、既存の ingress テストクライアントと testing/synctest を使ったテストを調べてください。parking を有効にして一連の処理を再現し、リトライ予算が尽きたときに、先に発生した ResourceExhausted エラーではなく、最終的な NotFound エラーが返されることを確認してください。

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
Go
スター
4.4k
フォーク
515
平均マージ
2日 10時間
マージ済み PR(30日)
295

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

agent-substrate/substrate のほかの issue

agent-substrate/substrate の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。