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

Sinks fail to resubscribe with RPCError: PRECONDITION_FAILED #40

Open
phijor opened this issue Jun 9, 2021 · 0 comments
Open

Sinks fail to resubscribe with RPCError: PRECONDITION_FAILED #40

phijor opened this issue Jun 9, 2021 · 0 comments
Labels
bug Something isn't working

Comments

@phijor
Copy link
Contributor

phijor commented Jun 9, 2021

By merging #38, we introduced a subtle "bug":

  • a sink tries to resubscribe to an existing data queue by invoking sink.subscribe with the dataQueue argument set

  • if that queue already exists and was declared without x-expires set, the manager will fail to re-declare the queue, since now RabbitMQ complains:

        PRECONDITION_FAILED - inequivalent arg 'x-expires' for queue 'sink-[xxx]-[uuid]-data' in vhost 'data': received the value '600000' of type 'signedint' but current is none
    

This happens only to queues that were declared by a manager running a version before #38 was implemented.

This is an exception that should lead to client termination, since freshly declaring a data queue does not lead to such conflicts of queue arguments. Still I think this is something we should look into.

@phijor phijor added the bug Something isn't working label Jun 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant