Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

In case of topology restart/failure, how in-flight messages in topology are replayed #1

Open
vaibhavtupe opened this issue Aug 25, 2018 · 1 comment

Comments

@vaibhavtupe
Copy link

vaibhavtupe commented Aug 25, 2018

In case of Kafka-spout, there is a zookeeper, who has offset of last read message, so in case of topology restart or failures, state or offset can be read from zookeeper, and spout can start reading from there.

So here in rabbit-spout, if topology is restarted, how in-flight messages can be replyed or requeued ?

@burov4j
Copy link
Owner

burov4j commented Feb 28, 2019

Hi!

Sorry for the long time answer.
Unacked RabbitMQ messages returns back to RabbitMQ if topology restart/failure.
You may set "x-dead-letter-exchange" and "x-dead-letter-routing-key" headers to your RabbitMQ queue and all in-flight messages will sent to it.
Another way you may set property KEY_REQUEUE_ON_FAIL to "true" as described here: https://github.com/burov4j/storm-rabbitmq.
In the case your in-flight messages will return to the original queue.

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

No branches or pull requests

2 participants