Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-14251

Consolidated JMS queue count not working on Cluster setup.

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • None
    • None
    • JMS
    • None
    • Undefined
    • ---
    • ---

    Description

      Cluster setup :

      Server 1 :  Master  i.e manager console.

      Server 2 :  Slave 1

      Server 3 :  Slave 2

      From Master single EAR gets deployed on al servers.

      When JMS message gets pushed then as per MDB limit it get distrubuted in any of the server 1 or 2 as per RoundRobinPolicy.

      Here msg distrubutution is happing properly.

      Now from any server when Queue is paused , its also getting reflected.

      i.e same queue gets paused from another server.

      But

      say 10 jms msg is pused on Queue.

      it got distrubuted as

      Server-1 : 3

      Server-2 : 7

      now when server-1 looks how many msg are present on Queue it gets only 3

      As this setup is in Cluster , why queue count information is not being shared.

       

      subsystem xmlns="urn:jboss:domain:messaging-activemq

       

      <pooled-connection-factory name="activemq-ra" entries="java:/JmsXA java:jboss/DefaultJMSConnectionFactory" connectors="http-connector in-vm" ha="true" auto-group="true" transaction="xa" "/>

      Here tried both
      connectors="http-connector in-vm"
      connectors="http-connector"

      Note :

      connectors="http-connector ---------> This controls start/pause across servers.

      connectors="in-vm" ---------> This controls start/pause on Local servers.

      Here what should be the setting so count can be same across servers in cluster

      <subsystem xmlns="urn:jboss:domain:messaging-activemq:4.0">
      <server name="default">
      <security enabled="false"/>
      <cluster password="${jboss.messaging.cluster.password:rutu}"/>
      <management address="localhost" jmx-enabled="true" jmx-domain="org.apache.activemq.artemis"/>
      <message-expiry scan-period="130000"/>
      <security-setting name="#">
      <role name="guest" send="true" consume="true" create-non-durable-queue="true" delete-non-durable-queue="true"/>
      </security-setting>
      <address-setting name="#" dead-letter-address="jms.queue.mq.sys.dmq" expiry-address="jms.queue.ExpiryQueue" max-delivery-attempts="2" max-size-bytes="10485760" page-size-bytes="2097152" message-counter-history-day-limit="10"/>
      <http-connector name="http-connector" socket-binding="http" endpoint="http-acceptor"/>
      <http-connector name="http-connector-throughput" socket-binding="http" endpoint="http-acceptor-throughput">
      <param name="batch-delay" value="50"/>
      </http-connector>
      <in-vm-connector name="in-vm" server-id="0">
      <param name="buffer-pooling" value="false"/>
      </in-vm-connector>
      <http-acceptor name="http-acceptor" http-listener="default"/>
      <http-acceptor name="http-acceptor-throughput" http-listener="default">
      <param name="batch-delay" value="50"/>
      <param name="direct-deliver" value="false"/>
      </http-acceptor>
      <remote-acceptor name="internal-messaging-acceptor" socket-binding="internal-messaging"/>
      <in-vm-acceptor name="in-vm" server-id="0">
      <param name="buffer-pooling" value="false"/>
      </in-vm-acceptor>
      <broadcast-group name="bg-group1" jgroups-cluster="activemq-cluster" connectors="http-connector"/>
      <discovery-group name="dg-group1" jgroups-cluster="activemq-cluster"/>
      <cluster-connection name="my-cluster" address="jms" connector-name="http-connector" discovery-group="dg-group1"/>
      <jms-queue name="ExpiryQueue" entries="java:/jms/queue/ExpiryQueue"/>
      <jms-queue name="DLQ" entries="java:/jms/queue/DLQ"/>
      <jms-queue name="dummy" entries="java:/queue/dummy java:jboss/exported/jms/queue/dummy"/>
      <jms-queue name="mq.sys.dmq" entries="java:/queue/mq.sys.dmq java:jboss/exported/jms/queue/mq.sys.dmq"/>
      <jms-queue name="AccountingQueue" entries="java:/queue/AccountingQueue java:jboss/exported/jms/queue/AccountingQueue"/>
      <connection-factory name="InVmConnectionFactory" entries="java:/ConnectionFactory" connectors="in-vm"/>
      <connection-factory name="RemoteConnectionFactory" entries="java:jboss/exported/jms/RemoteConnectionFactory" connectors="http-connector" ha="true" block-on-acknowledge="true" reconnect-attempts="-1"/>
      <pooled-connection-factory name="activemq-ra" entries="java:/JmsXA java:jboss/DefaultJMSConnectionFactory" connectors="http-connector" transaction="xa"/>

      </server>
      </subsystem>

      Attachments

        Activity

          People

            ehugonne1@redhat.com Emmanuel Hugonnet
            rutu@123 rutu rutu (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: