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

Should remove replyHandlers or streamHandler from reply-queue when getReply times out #17

Open
nikostoulas opened this issue Oct 4, 2019 · 3 comments

Comments

@nikostoulas
Copy link
Collaborator

When using the getReply with the timeout functionality if the time out occurs then the handlers are not cleared and the same correlationId cannot be used with getReply.

@alkiskal
Copy link
Contributor

alkiskal commented Mar 30, 2020

The timeout logic is specified in Queue.getReply, but the logic of adding and removing the handler is inside reply-queue. If I'm not missing anything these are the options:

  1. expose a method from reply-queue in order to remove handlers
  2. Move the timeout logic inside reply-queue so it knows when a timeout occurred and knows when to remove the handler (not only onReply, but onTimeout as well)
  3. Somehow treat the timeout in order to trigger the onReply of reply-queue.

I'm in favor of solution number 2. Is there any other approach that I'm missing. In any case you can assign this to me.

P.S. Adding the relevant section from the documentation that covers the implementation (correlation-id)
https://www.rabbitmq.com/tutorials/tutorial-six-javascript.html

@nikostoulas
Copy link
Collaborator Author

Closing this as we couldn't reproduce. Timeout deletes handlers

@nikostoulas
Copy link
Collaborator Author

Managed to reproduce it. The issue is when the service that provides the stream waits for a reply from a consumer that is down.

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