Skip to content

test: cover Redis retry and DLQ recovery#190

Open
eshulman2 wants to merge 1 commit into
forge-sdlc:mainfrom
eshulman2:test/redis-retry-dlq-boundaries
Open

test: cover Redis retry and DLQ recovery#190
eshulman2 wants to merge 1 commit into
forge-sdlc:mainfrom
eshulman2:test/redis-retry-dlq-boundaries

Conversation

@eshulman2

Copy link
Copy Markdown
Collaborator

Summary

  • add deterministic single-batch retry dispatch for integration testing
  • verify transient consumer failures retry successfully and clear Redis pending state
  • verify persistent failures exhaust retries, move to the DLQ, and clear pending state
  • acknowledge the original stream entry when retry exhaustion transfers ownership to the DLQ
  • keep retry unit tests hermetic by injecting a mocked Redis client

Bug fixed

The retry poller moved exhausted messages to the dead-letter queue but did not acknowledge their original Redis Stream entry. This left a permanent PEL record after terminal failure.

Verification

  • 22 retry, consumer, and retry-queue unit tests passed
  • 11 real-Redis retry/DLQ and queue integration tests passed
  • Ruff lint and formatting checks passed for source and changed tests

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.

1 participant