Uploaded image for project: 'JBoss ESB'
  1. JBoss ESB
  2. JBESB-2188

Wrong ReplyTo after message delivery failure

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 4.4
    • Fix Version/s: 4.5
    • Component/s: Transports
    • Labels:
      None

      Description

      ServiceInvoker does not reset ReplyTO when message delivery fails, which causes the next EPR (for the same service) to get the wrong ReplyTO address

      Steps to reproduce:
      Node1: 10.5.0.229
      Node2: 10.5.0.230

      1. uddi contains all cluster node EPR's
      2. kill the node (10.5.0.230) behind the first EPR for a service in uddi
      3. invoke the service
      4. ServiceInvoker sends a mesage to jms://10.5.0.230:1100/queue/myserviceEsbChannel, which failes because the node is down
      4.1 ReplyTo is jms://10.5.0.230:1100/queue/myserviceEsbChannel_reply
      5. ServiceInvoker sends a message to the next EPR jms://10.5.0.229:1100/queue/myserviceEsbChannel, which succeeds
      5.1 ReplyTo IS STILL jms://10.5.0.230:1100/queue/myserviceEsbChannel_reply
      6. Message gets delivered successfully, but the reply fails

      First EPR, message sent to node2, reply to node2:

      deliver message [header: [ To: JMSEpr [ PortReference < <wsa:Address jms://10.5.0.230:1100/queue/myserviceEsbChannel/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url : 10.5.0.230:1100/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.url.pkgs : org.jboss.naming:org.jnp.interfaces/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory :ClusteredConnectionFactory/>, <wsa:ReferenceProperties jbossesb:persistent : true/>, <wsa:ReferenceProperties jbossesb:acknowledge-mode : AUTO_ACKNOWLEDGE/>, <wsa:ReferenceProperties jbossesb:transacted : false/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> > ]ReplyTo: JMSEpr [ PortReference < <wsa:Address jms://10.5.0.230:1100/queue/myserviceEsbChannel_reply/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url : 10.5.0.230:1100/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.url.pkgs : org.jboss.naming:org.jnp.interfaces/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ClusteredConnectionFactory/>, <wsa:ReferenceProperties jbossesb:message-selector : jbossESBresponseUUID='de1ddfaf-6d45-4d03-b9ab-97b72244457c'/>, <wsa:ReferenceProperties jbossesb:persistent : true/>, <wsa:ReferenceProperties jbossesb:acknowledge-mode : AUTO_ACKNOWLEDGE/>, <wsa:ReferenceProperties jbossesb:transacted : false/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> > ] ]] to Service [mycategory:myservice].

      Second EPR, message sent to node1, reply to is still node2:

      deliver message [header: [ To: JMSEpr [ PortReference < <wsa:Address jms://10.5.0.229:1100/queue/myserviceEsbChannel/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url : 10.5.0.229:1100/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.url.pkgs : org.jboss.naming:org.jnp.interfaces/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory :ClusteredConnectionFactory/>, <wsa:ReferenceProperties jbossesb:persistent : true/>, <wsa:ReferenceProperties jbossesb:acknowledge-mode : AUTO_ACKNOWLEDGE/>, <wsa:ReferenceProperties jbossesb:transacted : false/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> > ]ReplyTo: JMSEpr [ PortReference < <wsa:Address jms://10.5.0.230:1100/queue/myserviceEsbChannel_reply/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url : 10.5.0.230:1100/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.url.pkgs : org.jboss.naming:org.jnp.interfaces/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ClusteredConnectionFactory/>, <wsa:ReferenceProperties jbossesb:message-selector : jbossESBresponseUUID='de1ddfaf-6d45-4d03-b9ab-97b72244457c'/>, <wsa:ReferenceProperties jbossesb:persistent : true/>, <wsa:ReferenceProperties jbossesb:acknowledge-mode : AUTO_ACKNOWLEDGE/>, <wsa:ReferenceProperties jbossesb:transacted : false/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> > ] ]] to Service [mycategory:myservice].

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  kconner Kevin Conner
                  Reporter:
                  sanjoa Joakim Sandstroem
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  0 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: