Repository navigation
Confirm durable RabbitMQ message transfers - #24
Conversation
Use persistent publisher confirms and synchronous mandatory-return handling. Requeue source deliveries when forwarding, retry, dead-letter, recovery, or acknowledgement settlement fails, and add focused plus live-broker interruption coverage.
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Preserve legacy publish and consumer behavior by default. Provision a separate confirm-mode producer only when enabled, and expose explicit confirmed publish and consumer methods for service-by-service rollout.
|
Rollout clarification after commit |
Summary
Why
Consumers previously could acknowledge a source delivery after an asynchronous mandatory return or after destination/dead-letter recovery failed. That could lose messages during queue drift or RabbitMQ interruption.
Validation
go test ./...go test -race ./pkg/queuego vet ./...go mod verifyCGO_ENABLED=0 go test ./...git diff --checkThe live RabbitMQ integration cases compile but were skipped locally because no
RABBITMQ_HOST,RABBITMQ_USERNAME, andRABBITMQ_PASSWORDor local broker runtime were available.