You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2019/08/06 19:11:00 UTC

[jira] [Updated] (CAMEL-13267) Camel stops consuming queue after restart of RabbitMQ broker

     [ https://issues.apache.org/jira/browse/CAMEL-13267?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen updated CAMEL-13267:
--------------------------------
    Fix Version/s: 3.0.0.M5
                   3.0.0

> Camel stops consuming queue after restart of RabbitMQ broker
> ------------------------------------------------------------
>
>                 Key: CAMEL-13267
>                 URL: https://issues.apache.org/jira/browse/CAMEL-13267
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-rabbitmq
>    Affects Versions: 2.23.0
>            Reporter: Peter Billen
>            Priority: Minor
>             Fix For: 3.0.0, 3.0.0.M5
>
>
> I am consuming a RabbitMQ queue as following:
>  
> {code:java}
> from("rabbitmq://localhost:5672?username=test&password=test&declare=false&queue=q&autoAck=false&threadPoolSize=1&exclusiveConsumer=true")
>    .to("log:receive");{code}
>  
> When I restart the RabbitMQ broker, no messages are longer received in the log handler.
>  
> According the management interface, all pending messages are in UNACKED state. This means that they are transmitted to the consumer, but not acknowledged. In other words, Camel was able to restore the connection after the restart, but fails to deliver to the log handler and acknowledge them afterwards.
>  
> I did not test this, but I believe the consumer will eventually crash due to OOM.
>  
> +*example*+
>  
> Please find a self-contained example on [https://github.com/pbillen/playground-camel-13267|https://github.com/pbillen/playground-camel-13267].You need a (local) Docker daemon to run this. Use it as following:
>  
>  # Start with `mvn clean install -U`.
>  # You notice in the logging that every 500ms, a message is sent and received. You can also log into the administrator interface on [http://localhost:15672|http://localhost:15672/] with login/password `test`. You will see the message pass through every 500ms. Great!
>  # Now restart the RabbitMQ broker. Typically, find the container identifier with `docker ps` and then execute `docker restart <identifier>`.
>  # After restart, you notice that every 500ms a message is sent, but not received. You can also log into the administrator interface and see that all messages are into the UNACKED state.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)