I've added a retry policy to my subscriptions using the python client and when I run the emulator I can see:
Created subscription: name: "projects/testproject/subscriptions/my_sub"
topic: "projects/testproject/topics/my_sub"
push_config {
}
ack_deadline_seconds: 10
message_retention_duration {
seconds: 604800
}
enable_message_ordering: true
retry_policy {
minimum_backoff {
seconds: 2
}
maximum_backoff {
seconds: 60
}
}
However if I create a scenario where consuming a message fails and I get the error message:
Event handler failed for subscriber: the_sub[2c08ce42-d2f7-4d5f-8b37-38b015b93b92]. Nacking message
I would expect this to be replayed and the replaying backed off, however what actually happens is that the message is replayed but never backed off, the replay is just tried again and again in quick succession (many times per second). This does work in our production GCP setup however it makes development a real pain. This feature seems to be supported according to the pubsub emulator docs that I found. Can anyone help?