glassfish
  1. glassfish
  2. GLASSFISH-6492

Messages drop from queue when broker fails/restarts

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Cannot Reproduce
    • Affects Version/s: v2.1
    • Fix Version/s: 4.0_b71
    • Component/s: jms
    • Labels:
      None
    • Environment:

      Operating System: Linux
      Platform: DEC

    • Issuezilla Id:
      6,492

      Description

      I am running load/stress tests on an application that routes messages to a
      persistent queue. At my test start the message count of the queue was 23334. The
      load was set up to send 500 messages to the initial destination topic at a rate
      that varied between 44-50 messages per second when run once. The load was set up
      to repeat 100 times (50000 message total). After 22000 messages had been sent
      the process rate had dropped to 5 messages per secondat which point the broker
      failed and restarted. After teh broker restart occurred the message count of the
      target persist Queue was 11670. It appears the none of the 22000 sent messages
      had made it to the persistent queue and an additional 11664 of the original
      messages had been lost from the queue.

        Activity

        Hide
        rgafney added a comment -

        Created an attachment (id=1944)
        log file from glassfish/nodeagents/gallifreyAgent/gallifreyInstance/imq/instances/collectorclustergallifreyInstance/log showing broker failure

        Show
        rgafney added a comment - Created an attachment (id=1944) log file from glassfish/nodeagents/gallifreyAgent/gallifreyInstance/imq/instances/collectorclustergallifreyInstance/log showing broker failure
        Hide
        rgafney added a comment -

        Priority raised since no response has been received and the problem is becoming
        a major product issue.

        Show
        rgafney added a comment - Priority raised since no response has been received and the problem is becoming a major product issue.
        Hide
        sanandal added a comment -

        "Reclassifying as P4 because this issue is not deemed "must fix" for this v2.1
        release whose primary release driver is SailFin.
        This issue will be scrubbed after this release and will be given the right
        priority for the next release."

        Show
        sanandal added a comment - "Reclassifying as P4 because this issue is not deemed "must fix" for this v2.1 release whose primary release driver is SailFin. This issue will be scrubbed after this release and will be given the right priority for the next release."
        Hide
        kumara added a comment -

        Changing version from 9.1.1 to v2.1 to reflect new name/version.

        Show
        kumara added a comment - Changing version from 9.1.1 to v2.1 to reflect new name/version.
        Hide
        Tom Mueller added a comment -

        Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.

        Show
        Tom Mueller added a comment - Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.
        Hide
        jigang added a comment -

        The filer is out of touch.I Configured a GlassFish Cluster to Use a Remote Broker Cluster and deployed an remote EJB job to send the message to queue.
        In the process of sending 23334 messages to the Queue ,I killed and started the broker,there are no messages dropped from the Queue.
        Please refer the links below to configure a GlassFish Cluster to Use a Remote Broker Cluster http://docs.oracle.com/cd/E18930_01/html/821-2426/abdbx.html#abdby
        Here are my steps:
        1.Start Domain
        asadmin start-domain
        2.Create Glassfish Server cluster,but not yet created instances for the cluster
        asadmin create-cluster c1
        3.Set the jms service type of the c1
        asadmin set c1.jms-service.type=REMOTE
        4.Delete the default_JMS_host JMS host
        asadmin delete-jms-host --target c1 default_JMS_host
        5.Create a JMS host for each broker in the broker cluster
        asadmin create-jms-host --target c1 --mqhost localhost --mqport 7601 --mquser admin --mqpassword admin localhost1
        asadmin create-jms-host --target c1 --mqhost localhost --mqport 7602 --mquser admin --mqpassword admin localhost2
        6.Create two instances
        asadmin create-local-instance --cluster c1 instance1
        asadmin create-local-instance --cluster c1 instance2
        7.Create connectionfactory and destination
        asadmin create-jms-resource --target c1 --restype javax.jms.ConnectionFactory --property ReconnectEnabled=true MyConnectionFactory
        asadmin create-jms-resource --target c1 --restype javax.jms.Queue MyQueue
        8.restart the cluster
        asadmin stop-cluster c1
        asadmin start-cluster c1
        9.Start the brokers in the cluster by using the Message Queue
        imqbrokerd.exe -vmargs "-Xms256m -Xmx1024m" -name b1 -port 7601
        imqbrokerd.exe -vmargs "-Xms256m -Xmx1024m" -name b2 -port 7602
        10.Deploy a remote EJB
        asadmin deploy --createtables=true --target c1 MYEJB.jar
        11.Use standalone client invoke the remote EJB
        MySessionBeanRemote beanRemote = (MySessionBeanRemote) ctx.lookup(MySessionBeanRemote.RemoteJNDIName);
        beanRemote.sendMessage();

        Show
        jigang added a comment - The filer is out of touch.I Configured a GlassFish Cluster to Use a Remote Broker Cluster and deployed an remote EJB job to send the message to queue. In the process of sending 23334 messages to the Queue ,I killed and started the broker,there are no messages dropped from the Queue. Please refer the links below to configure a GlassFish Cluster to Use a Remote Broker Cluster http://docs.oracle.com/cd/E18930_01/html/821-2426/abdbx.html#abdby Here are my steps: 1.Start Domain asadmin start-domain 2.Create Glassfish Server cluster,but not yet created instances for the cluster asadmin create-cluster c1 3.Set the jms service type of the c1 asadmin set c1.jms-service.type=REMOTE 4.Delete the default_JMS_host JMS host asadmin delete-jms-host --target c1 default_JMS_host 5.Create a JMS host for each broker in the broker cluster asadmin create-jms-host --target c1 --mqhost localhost --mqport 7601 --mquser admin --mqpassword admin localhost1 asadmin create-jms-host --target c1 --mqhost localhost --mqport 7602 --mquser admin --mqpassword admin localhost2 6.Create two instances asadmin create-local-instance --cluster c1 instance1 asadmin create-local-instance --cluster c1 instance2 7.Create connectionfactory and destination asadmin create-jms-resource --target c1 --restype javax.jms.ConnectionFactory --property ReconnectEnabled=true MyConnectionFactory asadmin create-jms-resource --target c1 --restype javax.jms.Queue MyQueue 8.restart the cluster asadmin stop-cluster c1 asadmin start-cluster c1 9.Start the brokers in the cluster by using the Message Queue imqbrokerd.exe -vmargs "-Xms256m -Xmx1024m" -name b1 -port 7601 imqbrokerd.exe -vmargs "-Xms256m -Xmx1024m" -name b2 -port 7602 10.Deploy a remote EJB asadmin deploy --createtables=true --target c1 MYEJB.jar 11.Use standalone client invoke the remote EJB MySessionBeanRemote beanRemote = (MySessionBeanRemote) ctx.lookup(MySessionBeanRemote.RemoteJNDIName); beanRemote.sendMessage();

          People

          • Assignee:
            David Zhao
            Reporter:
            rgafney
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: