google-cloud-go
google-cloud-go copied to clipboard
feat(pubsub): retry temporary failures for ack/modacks
This PR adds the logic for retrying temporary ack/modack (including nack) failures for exactly once delivery.
Some other changes captured in this PR
- Updating
subscription_test.goandintegration_test.goto support exactly once delivery for publish/subscribing. Git diff is not great here, but a lot of changes just involves moving a lot of the publish/receive test code into a sub-test function so they can be invoked in parallel. Not much logic change. - Reverted all
ackResultWithIDto just beAckResult. Passing around the map of ackID->AckResult works best and we just needed to be consistent.