Skip to content

fix(notify): flaky 테스트를 결정론적으로 — main 게이트 복구 - #15

Merged
eightynine01 merged 1 commit into
mainfrom
fix/notify-flaky
Aug 12, 2026
Merged

fix(notify): flaky 테스트를 결정론적으로 — main 게이트 복구#15
eightynine01 merged 1 commit into
mainfrom
fix/notify-flaky

Conversation

@eightynine01

Copy link
Copy Markdown
Contributor

main 이 빨간 상태입니다. #14 가 CI 실패에도 머지됐습니다(브랜치 보호 규칙 부재).

원인 — 제가 만든 시간 경주

TestRecoversBeforeExhausting 이 20ms 뒤 서버를 성공으로 바꾸는데, 백오프 합계가 1+2+4+8ms빠른 환경에서는 재시도가 먼저 소진됩니다. 로컬은 통과하고 CI 는 실패하는 전형적인 패턴입니다.

수정

성공 시점을 시간이 아니라 호출 횟수로 만듭니다 — 처음 두 번 실패, 세 번째 성공. 시도 횟수까지 단언해 "몇 번 만에 복구했는가"도 고정합니다.

로컬 8회 반복 + -race 3회 통과 확인.

함께 볼 것

브랜치 보호 규칙이 없어 게이트가 빨간불이어도 머지가 됩니다. 게이트를 통과 조건으로 강제할지는 별도 판단이 필요합니다 — 지금은 사람이 확인해야 막힙니다.

TestRecoversBeforeExhausting 이 20ms 뒤 서버를 성공으로 바꿨는데, 백오프
합계(1+2+4+8ms)가 그보다 짧아 빠른 환경에서는 재시도가 먼저 소진됐다.
로컬은 통과하고 CI 는 실패하는 전형적인 시간 경주다 — 실제로 #14 의 게이트가
이것 때문에 빨간불이었다.

성공 시점을 시간이 아니라 **호출 횟수**로 만든다(처음 두 번 실패, 세 번째
성공). 시도 횟수까지 단언해 '몇 번 만에 복구했는가' 도 고정한다.

로컬 8회 반복 + race 3회 통과 확인.
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@eightynine01
eightynine01 merged commit 8390eca into main Aug 12, 2026
1 check passed
@eightynine01
eightynine01 deleted the fix/notify-flaky branch August 12, 2026 14:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants