fix: use Monday's retry_in_seconds directly without adding backoff#10
Merged
Conversation
venturamd
approved these changes
May 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ApiRequestQueueProcessor.getRetryAfterValuewas addingcalculateBackoffDelay(attempts)on top of Monday'sretry_in_seconds, causing the retry delay to grow exponentially with attempts. On attempt 9 withretry_in_seconds=37this produced ~910s, which then exceeded SQS's 900sDelaySecondslimit and caused the requeue itself to fail (Value 910 for parameter DelaySeconds is invalid).retry_in_seconds, that value is now used verbatim. Exponential backoff is reserved for the fallback case (noretry_in_secondsin the error).SqsProducernow clampsDelaySecondsto[0, 900]via a smallclampDelaySecondshelper as defense-in-depth, so any future caller producing an out-of-range delay can't blow upSendMessage.retry delay calculationupdated to assert the delay is exactly Monday'sretry_in_seconds(60) instead ofretry_in_seconds + backoff.Test plan
yarn typecheckpassesyarn test— all 107 tests passretry_in_seconds: Nproduces a requeue withDelaySeconds = N(notN + backoff)DelaySeconds must be >= 0 and <= 900🤖 Generated with Claude Code