Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    problem with rabbitMQ and Realtime Messaging

    Hello Isomorphic we have a problem where RabbitMQ memory consumption grows day by day even with low usage. We're now using RabbitMQ 3.10.8, we're using streams with AMQP protocol 0-9-1. I was suspecting a rabbitMQ bug.

    Now on the RabbitMQ forum they're asking for details about the consuming application:

    https://groups.google.com/g/rabbitmq.../c/Pt8tZQIE8mo

    Can you tell me more about how your consuming applications are using streams over AMQP. Do they disconnect frequently? If so do they send a basic.cancel first or just terminate the channel?
    Could you please tell me those details? Or feel free to post directly on the rabbitMQ forum.

    This is the configuration I'm using - in the context.xml file of my application:

    Code:
    <Resource name="jms/MyConnectionFactory"
                  type="javax.jms.ConnectionFactory"
                  factory="com.rabbitmq.jms.admin.RMQObjectFactory"
                  username="user"
                  password="pwd"
                  virtualHost="my_VH"
                  host="myRabbitMQ_host"
                  channelsQos="100"
                  threadsPerConnection="2"
                  cleanUpServerNamedQueuesForNonDurableTopicsOnSessionClose="true"/>
    
        <ResourceLink global="jms/MyConnectionFactory"
                      name="jms/MyConnectionFactory"
                      type="javax.jms.ConnectionFactory"/>
    
        <Resource auth="Application"
                  name="jms/myChannel"
                  type="javax.jms.Topic"
                  factory="com.rabbitmq.jms.admin.RMQObjectFactory"
                  destinationName="myChannel"
                  amqp="true"
                  amqpExchangeName="jms.durable.topic"
                  amqpRoutingKey="jms/myChannel"
                  amqpQueueName="myChannel"/>
        <ResourceLink global="jms/myChannel"
                      type="javax.jms.Topic"
                      name="jms/myChannel"/>
    in server.properties:

    Code:
    messaging.jms.context:_container_
    messaging.jms.jndiPrefix:jms
    messaging.jms.connectionFactory:MyConnectionFactory
    messaging.jms.encoding:json
    The web application is deployed in a tomcat cluster. Using RabbitMQ console I've created a queue of type Stream, named myChannel, bound to an exchange jms.durable.topic (type Topic) with routing key jms/myChannel.

    Also, I'm considering to try the stream protocol instead of AMQP https://github.com/rabbitmq/rabbitmq.../PROTOCOL.adoc

    Have you tried it? Do you know how to configure the Realtime Messaging to use it?

    #2
    Hello, just to clarify, as I see that there's some new comment from the other user which is having a similar or the same problem, my (system engineer) colleague who posted on the rabbitMQ forums is Andrea R. The question the rabbitMQ developers posted to us is linked directly here https://groups.google.com/g/rabbitmq...m/8ji4kFvyAAAJ

    Comment


      #3
      Hello, it seems that the problem is fixed by the latest version of RabbitMQ: 3.10.11

      Comment


        #4
        Sorry we were slow on this one! We were in the middle of looking at this, but I guess now we can stop. Thanks for letting us know that this was a RabbitMQ bug.

        Comment

        Working...
        X