Skip to content

Conversation

@KyungHwanKim-devs
Copy link

Summary

  • Use dispatcher tick time (context Now) for dedup repeat-interval checks.
  • Add a regression test ensuring dedup honors the context time source.
  • Update changelog.

Background

Issue #2461 reports TestRetry consistently failing on Darwin due to repeat notifications occurring earlier than expected.

Root Cause

DedupStage relied on time.Now() instead of the dispatcher-provided tick time. When the pipeline execution is delayed on Darwin, the repeat interval appears to have already elapsed, causing an early resend.

Fix

DedupStage now prefers the context Now value (set by dispatch) and falls back to its internal clock when absent, making repeat-interval decisions deterministic.

Testing

  • make test (macOS: ld LC_DYSYMTAB warnings)

Fixes #2461.

Signed-off-by: kkh <kkhdevs@gmail.com>
Copy link
Contributor

@ultrotter ultrotter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't fully love it as it's quite manual and easy to forget the overridden time.
But perhaps it's fine so far, and anyway we can evaluate moving to synctest avoiding manual time mocks, after the next go version is released.

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.

TestRetry fails on Darwin

2 participants