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

the lane S2 red is a share of routed requests, not a timing flake

オープン
#1,364 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

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

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

評価

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

調査の方向性

Start with internal/lane/e2e_test.go, especially lines 449, 467-468, 931, and 945, and run TestS2TheDefaultGoesSlowAndTheRouterMoves. Trace firstsScripted and the TTFT ledger, then add failure output showing each request's lane and ledger belief. Add deterministic coverage for exactly 2 and 3 broken answers, asserting about 79% and 0.0% respectively.

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

説明

area:tests bug sev:papercut

What happens

TestS2TheDefaultGoesSlowAndTheRouterMoves in internal/lane fails when other
suites run beside it. On a quiet box it passes. 316 consecutive runs in
isolation never reproduced it.

That is exactly the shape the repository says to file rather than rerun.

What the red actually means, which is not what it looks like

The assertion at internal/lane/e2e_test.go:467-468 does NOT divide a measured
time. It divides firstsScripted, a lookup into scriptedFirstWorld
(e2e_test.go:945). The wall figures computed at line 449 are logged and
asserted nowhere.

So the test is not timing-sensitive in the way its name suggests. It asserts a
share of requests that were routed to the good lane after the break.

The margin is a cliff, not a slope. Out of 20 routed requests:

answers from the broken lane asserted figure
2 about 79%
3 exactly 0.0%

A pass sits ONE request away from that cliff every time it passes. The red means
at least 3 of 20 routed requests reached the broken lane after the break, and
nothing about the failure output says so.

How load gets in

One channel only: the ledger's TTFT: e2eWorld(result.ttft) at
e2e_test.go:931, a measured time multiplied by 100, against a real gap of
8.4ms versus 40ms. Under load the wall p90 moved from 1.0s to 10.4s while the
asserted figure never moved at all, which is why the two look unrelated until
you follow the ledger.

Replication

Run the lane suite with the box under load, for instance a full internal/tui3
run beside it. It is not reliable, which is the point. In isolation it is green
316 times out of 316.

Acceptance

Not "it stops failing". A rerun proves nothing here.

  1. The failure output prints the per-request lane sequence and the ledger's
    belief at each step. Today a reader cannot tell 3-of-20 from 10-of-20.
  2. A deterministic test that drives the ledger to exactly 2 and exactly 3 broken
    answers and asserts 79% and 0.0%, so the cliff is written down rather than
    discovered.
  3. Only then, whatever fix follows.

Not a fix

task/lane-s2-under-load at a41e4abc5 is an unfinished edit from an agent that
died mid-change. It is parked, unmerged, and should not be read as a proposal.

主要言語
Go
スター
115
フォーク
14
平均マージ
9時間 38分
マージ済み PR(30日)
749

環境構築

このプロジェクトの環境構築ファイルはまだ確認していません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

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

Agent-Field/CodeAF のほかの issue

Agent-Field/CodeAF の issue をすべて見る

似ている issue

Go の issue をもっと見る

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

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