Skip to content

[Awaiter] Fix bug with context cancellation spreading to other processes#885

Merged
mhutchinson merged 4 commits intotransparency-dev:mainfrom
mhutchinson:downtothepub
Mar 5, 2026
Merged

[Awaiter] Fix bug with context cancellation spreading to other processes#885
mhutchinson merged 4 commits intotransparency-dev:mainfrom
mhutchinson:downtothepub

Conversation

@mhutchinson
Copy link
Contributor

Issue: The publication awaiter had some curious logic that set any context error received by any of the routines awaiting it onto the core error shared by all blocked routines. This meant that the timeout of any goroutine poisoned all other routines that happened to be waiting at the same time.

Impact: This would not be noticed on services where the deadline was not being reached. However, for services where the deadline was reached, potentially successful calls to the awaiter would be terminated early with context.deadlineExceededError. This is likely to lead to a higher number of failing calls than expected.

Issue: The publication awaiter had some curious logic that set any context error received by any of the routines awaiting it onto the core error shared by all blocked routines. This meant that the timeout of any goroutine poisoned all other routines that happened to be waiting at the same time.

Impact: This would not be noticed on services where the deadline was not being reached. However, for services where the deadline was reached, potentially successful calls to the awaiter would be terminated early with `context.deadlineExceededError`. This is likely to lead to a higher number of failing calls than expected.
@mhutchinson mhutchinson requested a review from a team as a code owner March 5, 2026 11:41
@mhutchinson mhutchinson requested a review from AlCutter March 5, 2026 11:41
@mhutchinson mhutchinson merged commit 3183c18 into transparency-dev:main Mar 5, 2026
18 checks passed
@mhutchinson mhutchinson deleted the downtothepub branch March 5, 2026 12:52
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