JIRA

  • Log In Access more options
    • Online Help
    • GreenHopper Help
    • Agile Answers
    • Use Agile By Default
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What’s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
  • Agile Access more options (Alt+g)
  • Create Issue
  • Mule
  • MULE-5852

request-reply router does not preserve session properties

  • Agile Board
  • More Actions
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Critical Critical
  • Resolution: Fixed
  • Affects Version/s: 3.2.0, 3.2.2 (EE only), 3.3 M1
  • Fix Version/s: 3.1.4 (EE only), 3.2.3 (EE only), 3.3.1
  • Component/s: Core: Properties
  • Labels:
    • targeted-3.3.1
  • Environment:

    Using Eclipse mule IDE, Mule 3.2, Also 3.2.2 Studio! 3.2.1 Works. Also Broke in 3.3

  • User impact:
    High
  • Similar Issues:
    None

Description

The following flow loses the session properties that are set at entry:

<flow name="FrontierFlow">
<vm:inbound-endpoint exchange-pattern="request-response" path="FrontierRequest" />
<request-reply timeout="2000">
<jms:outbound-endpoint queue="frontier.destination" />
<jms:inbound-endpoint queue="frontier.price" />
</request-reply>
<append-string-transformer message=" Frontier"></append-string-transformer>
</flow>

  • Options
    • Sort By Name
    • Sort By Date
    • Ascending
    • Descending
    • Download All

Attachments

  1. Hide
    Zip Archive
    RequestReplyTestCase.zip
    04/Apr/12 07:59 AM
    7 kB
    German Solis
    1. XML File
      pom.xml 13 kB
    2. XML File
      src/main/app/mule-config.xml 3 kB
    3. HTML File
      src/main/java/.../requestreply/package.html 0.1 kB
    4. Java Source File
      src/test/.../RequestReplyTestCase.java 1 kB
    5. XML File
      src/.../requestreply-functional-test-config.xml 3 kB
    Download Zip
    Show
    Zip Archive
    RequestReplyTestCase.zip
    04/Apr/12 07:59 AM
    7 kB
    German Solis
  2. Java Source File
    PATCH.java
    23/Apr/12 02:53 PM
    0.2 kB
    German Solis
  3. Text File
    OutputRunwithMule3.2.txt
    08/Nov/11 02:30 PM
    34 kB
    Jameson Triplett
  4. Text File
    OutputRunwithMule3.1.txt
    08/Nov/11 02:30 PM
    78 kB
    Jameson Triplett
  5. Hide
    Zip Archive
    lab03to06.zip
    08/Nov/11 02:30 PM
    3.13 MB
    Jameson Triplett
    1. File
      lab03to06/.classpath 8 kB
    2. File
      lab03to06/.DS_Store 6 kB
    3. File
      lab03to06/.muleide 0.1 kB
    4. File
      lab03to06/.project 0.7 kB
    5. File
      lab03to06/.../org.eclipse.jdt.core.prefs 0.3 kB
    6. File
      lab03to06/.../org.maven.ide.eclipse.prefs 0.3 kB
    7. Text File
      lab03to06/activemq-data/.../KahaDB/db-1.log 31.50 MB
    8. File
      lab03to06/activemq-data/.../KahaDB/db.data 52 kB
    9. File
      lab03to06/activemq-data/.../KahaDB/db.redo 48 kB
    10. File
      lab03to06/activemq-data/.../KahaDB/lock 0.0 kB
    11. File
      lab03to06/bin/.DS_Store 6 kB
    12. File
      lab03to06/bin/com/.DS_Store 6 kB
    13. File
      lab03to06/bin/com/mulesoft/.DS_Store 6 kB
    14. File
      lab03to06/bin/com/.../course/.DS_Store 6 kB
    15. File
      lab03to06/bin/com/.../course/labs/.DS_Store 6 kB
    16. File
      lab03to06/.../SetupDatabaseNotificationListener.class 3 kB
    17. File
      lab03to06/.../FileServingTransformer.class 1 kB
    18. File
      lab03to06/.../OrderingTicketPriceComponent.class 1 kB
    19. File
      lab03to06/.../RestSimpleTicketComponent.class 0.9 kB
    20. File
      lab03to06/.../SimpleTicketPriceComponent.class 0.9 kB
    21. File
      lab03to06/bin/.../TicketPriceService.class 0.4 kB
    22. File
      lab03to06/.../TicketPriceServiceImpl.class 0.9 kB
    23. File
      lab03to06/.../OrderingTicketPricesTransformer.class 2 kB
    24. HTML File
      lab03to06/bin/form.html 0.2 kB
    25. XML File
      lab03to06/bin/mule-config.xml 7 kB
    26. File
      lab03to06/.../MuleTicketLab3UnitTest.class 3 kB
    27. File
      lab03to06/.../MuleTicketUnitLab2Test.class 2 kB
    28. File
      lab03to06/bin/result.vm 0.2 kB
    29. Text File
      lab03to06/derby.log 0.4 kB
    30. Java Archive File
      lab03to06/.../commons-collections-3.2.1.jar 562 kB
    Showing 30 of 61 items Download Zip
    Show
    Zip Archive
    lab03to06.zip
    08/Nov/11 02:30 PM
    3.13 MB
    Jameson Triplett
  6. Hide
    Zip Archive
    essentialssolutionpart2.zip
    06/Jul/12 02:36 PM
    5.83 MB
    Jameson Triplett
    1. File
      essentialssolutionpart2/.classpath 0.7 kB
    2. File
      essentialssolutionpart2/.project 0.6 kB
    3. File
      essentialssolutionpart2/.../org.eclipse.jdt.core.prefs 0.6 kB
    4. Text File
      essentialssolutionpart2/.../db-1.log 31.50 MB
    5. File
      essentialssolutionpart2/.../db.data 52 kB
    6. File
      essentialssolutionpart2/.../db.redo 48 kB
    7. File
      essentialssolutionpart2/.../lock 0.0 kB
    8. Text File
      essentialssolutionpart2/derby.log 0.4 kB
    9. File
      essentialssolutionpart2/.../EssentialsSolution2.mflow 53 kB
    10. XML File
      essentialssolutionpart2/mule-project.xml 0.2 kB
    11. XML File
      essentialssolutionpart2/pom.xml 11 kB
    12. XML File
      essentialssolutionpart2/.../EssentialsSolution2.xml 9 kB
    13. File
      essentialssolutionpart2/.../mule-app.properties 0.1 kB
    14. File
      essentialssolutionpart2/.../mule-deploy.properties 0.1 kB
    15. Java Source File
      essentialssolutionpart2/.../DeltaPriceComponent.java 0.6 kB
    16. Java Source File
      essentialssolutionpart2/.../FileServingTransformer.java 0.9 kB
    17. Java Source File
      essentialssolutionpart2/.../HtmlTransformer.java 0.9 kB
    18. Java Source File
      essentialssolutionpart2/.../PriceComponent.java 0.6 kB
    19. Java Source File
      essentialssolutionpart2/.../RESTPriceComponent.java 0.8 kB
    20. Java Source File
      essentialssolutionpart2/.../SetupDatabaseNotificationListener.java 2 kB
    21. Java Source File
      essentialssolutionpart2/.../SOAPPriceComponent.java 0.1 kB
    22. Java Source File
      essentialssolutionpart2/.../SortComponent.java 1.0 kB
    23. Java Source File
      essentialssolutionpart2/.../TicketPriceInterface.java 0.2 kB
    24. Java Archive File
      essentialssolutionpart2/.../activemq-all-5.5.1.jar 3.86 MB
    25. Java Archive File
      essentialssolutionpart2/.../derby-10.6.1.0.jar 2.50 MB
    26. HTML File
      essentialssolutionpart2/src/.../form.html 0.2 kB
    27. File
      essentialssolutionpart2/.../log4j.properties 0.9 kB
    Download Zip
    Show
    Zip Archive
    essentialssolutionpart2.zip
    06/Jul/12 02:36 PM
    5.83 MB
    Jameson Triplett
  7. XML File
    all-properties.xml
    04/Nov/11 06:41 PM
    2 kB
    Mike Schilling

Issue Links

relates to

Bug - A problem which impairs or prevents the functions of the product. MULE-6391 JMSReplyToHandler doesn't propagate MuleSession

  • Major - Major loss of function.
  • Open - The issue is open and ready for the assignee to start work on it.

Improvement - An improvement or enhancement to an existing feature or task. MULE-5903 As a Mule developer I want to simplify, clean-up and improve testing of MuleSession to improve quality.

  • Major - Major loss of function.
  • Closed - The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.

Activity

Ascending order - Click to sort in descending order
  • All
  • Comments
  • Work Log
  • History
  • Activity
  • Transitions
  • Commits
  • Source
  • Builds
Hide
Permalink
Mike Schilling added a comment - 03/Nov/11 11:05 AM

Currently, properties are dropped on message aggregation. This behavior needs to be improved.

Show
Mike Schilling added a comment - 03/Nov/11 11:05 AM Currently, properties are dropped on message aggregation. This behavior needs to be improved.
Hide
Permalink
Ken Yagen added a comment - 03/Nov/11 01:28 PM

is this a regression in 3.2? If so, needs to be fixed, not necessarily improved.

Show
Ken Yagen added a comment - 03/Nov/11 01:28 PM is this a regression in 3.2? If so, needs to be fixed, not necessarily improved.
Hide
Permalink
Mike Schilling added a comment - 04/Nov/11 06:40 PM - edited

I'm seeing the same behavior in 3.1 and 3.2 using the attached config:

Inbound, outbound, and invocation properties are dropped during message aggregation.
Session properties are preserved.

This is test java/org/mule/issues/PropertiesWithAllTestCase in mule-3.2.x and mule-3.x

Show
Mike Schilling added a comment - 04/Nov/11 06:40 PM - edited I'm seeing the same behavior in 3.1 and 3.2 using the attached config: Inbound, outbound, and invocation properties are dropped during message aggregation. Session properties are preserved. This is test java/org/mule/issues/PropertiesWithAllTestCase in mule-3.2.x and mule-3.x
Hide
Permalink
Jameson Triplett added a comment - 08/Nov/11 02:31 PM

I've added my project that this doesn't work with. Session properties are being erased.

There is output from the 3.1 version and the 3.2 version, same code.

Show
Jameson Triplett added a comment - 08/Nov/11 02:31 PM I've added my project that this doesn't work with. Session properties are being erased. There is output from the 3.1 version and the 3.2 version, same code.
Hide
Permalink
Mike Schilling added a comment - 08/Nov/11 07:00 PM - edited

The session properties are being lost at

<request-reply timeout="2000">
<jms:outbound-endpoint queue="frontier.destination" />
<jms:inbound-endpoint queue="frontier.price" />
</request-reply>

The session properties that are present before the router get overwritten by the (empty) set in the reply.

Show
Mike Schilling added a comment - 08/Nov/11 07:00 PM - edited The session properties are being lost at <request-reply timeout="2000"> <jms:outbound-endpoint queue="frontier.destination" /> <jms:inbound-endpoint queue="frontier.price" /> </request-reply> The session properties that are present before the router get overwritten by the (empty) set in the reply.
Hide
Permalink
Daniel Feist added a comment - 27/Dec/11 03:06 PM

3.1.x: r23550
3.2.x: r23551
3.x: r23536

Show
Daniel Feist added a comment - 27/Dec/11 03:06 PM 3.1.x: r23550 3.2.x: r23551 3.x: r23536
Hide
Permalink
German Solis added a comment - 04/Apr/12 07:59 AM

This is still happening in 3.2.2 (however it works in 3.2.1 )
I've attached a test case that reproduces this issue.

Show
German Solis added a comment - 04/Apr/12 07:59 AM This is still happening in 3.2.2 (however it works in 3.2.1 ) I've attached a test case that reproduces this issue.
Hide
Permalink
German Solis added a comment - 23/Apr/12 02:53 PM - edited

Wrong JIRA - Sorry

Show
German Solis added a comment - 23/Apr/12 02:53 PM - edited Wrong JIRA - Sorry
Hide
Permalink
Saveli Vassiliev added a comment - 24/May/12 10:16 AM

Running the following configuration

<flow name="flow1">
        <http:inbound-endpoint address="http://localhost:8082/sprop" exchange-pattern="one-way"/>
        <message-properties-transformer scope="session">
            <add-message-property key="foo" value="foo"/>
        </message-properties-transformer>
        <test:component logMessageDetails="true"/>
        <request-reply>
            <vm:outbound-endpoint address="vm://flow2"/>
            <vm:inbound-endpoint path="inbound"/>
        </request-reply>
        <test:component logMessageDetails="true"/>
    </flow>

    <flow name="flow2">
        <vm:inbound-endpoint  path="flow2"/>
        <test:component logMessageDetails="true"/>
        <message-properties-transformer scope="session">
            <add-message-property key="bar" value="bar"/>
        </message-properties-transformer>
        <message-properties-transformer scope="outbound">
            <add-message-property key="outbar" value="bar"/>
        </message-properties-transformer>
    </flow>

I am expecting to see 3 test component outputs, each one listing the Session properties. The sequence should be: {foo:foo}, {foo:foo}, {foo:foo, bar:bar}. I got the following results:

  • on Mule 3.1.4 seems that the execution never comes back to flow1 after entering flow2. This is another issue (MULE-6238), but it is related since we can not check the properties behavior with this malfunction.
  • on Mule 3.2.x works fine.
  • on Mule 3.3.x works fine.
Show
Saveli Vassiliev added a comment - 24/May/12 10:16 AM Running the following configuration
<flow name="flow1">
        <http:inbound-endpoint address="http://localhost:8082/sprop" exchange-pattern="one-way"/>
        <message-properties-transformer scope="session">
            <add-message-property key="foo" value="foo"/>
        </message-properties-transformer>
        <test:component logMessageDetails="true"/>
        <request-reply>
            <vm:outbound-endpoint address="vm://flow2"/>
            <vm:inbound-endpoint path="inbound"/>
        </request-reply>
        <test:component logMessageDetails="true"/>
    </flow>

    <flow name="flow2">
        <vm:inbound-endpoint  path="flow2"/>
        <test:component logMessageDetails="true"/>
        <message-properties-transformer scope="session">
            <add-message-property key="bar" value="bar"/>
        </message-properties-transformer>
        <message-properties-transformer scope="outbound">
            <add-message-property key="outbar" value="bar"/>
        </message-properties-transformer>
    </flow>
I am expecting to see 3 test component outputs, each one listing the Session properties. The sequence should be: {foo:foo}, {foo:foo}, {foo:foo, bar:bar}. I got the following results:
  • on Mule 3.1.4 seems that the execution never comes back to flow1 after entering flow2. This is another issue (MULE-6238), but it is related since we can not check the properties behavior with this malfunction.
  • on Mule 3.2.x works fine.
  • on Mule 3.3.x works fine.
Hide
Permalink
Daniel Feist added a comment - 30/May/12 07:05 AM

r23550

Show
Daniel Feist added a comment - 30/May/12 07:05 AM r23550
Hide
Permalink
Daniel Feist added a comment - 30/May/12 07:08 AM

German Solis This made it into 3.2.2, should be working, also Saveli has confirmed.

Show
Daniel Feist added a comment - 30/May/12 07:08 AM German Solis This made it into 3.2.2, should be working, also Saveli has confirmed.
Hide
Permalink
German Solis added a comment - 30/May/12 07:31 AM

The test fails for me in 3.2.2, AFAIK this is a regression since it works correctly in 3.2.1.
Did you test it in 3.2.2 or 3.2.x ?

Show
German Solis added a comment - 30/May/12 07:31 AM The test fails for me in 3.2.2, AFAIK this is a regression since it works correctly in 3.2.1. Did you test it in 3.2.2 or 3.2.x ?
Hide
Permalink
Daniel Feist added a comment - 30/May/12 08:11 AM

Which test?

Show
Daniel Feist added a comment - 30/May/12 08:11 AM Which test?
Hide
Permalink
German Solis added a comment - 30/May/12 09:32 AM

The attached test:

RequestReplyTestCase.zip

It set a session property right before the request-reply, and then it try to access it right after, but the session prop is not available.

Show
German Solis added a comment - 30/May/12 09:32 AM The attached test: RequestReplyTestCase.zip It set a session property right before the request-reply, and then it try to access it right after, but the session prop is not available.
Hide
Permalink
Saveli Vassiliev added a comment - 30/May/12 12:41 PM

In 3.2.x the attached test failed. I changed the jms endpoint to vm endpoinds and all went fine, just as I posted before. Maybe jms connector is the problem?

Show
Saveli Vassiliev added a comment - 30/May/12 12:41 PM In 3.2.x the attached test failed. I changed the jms endpoint to vm endpoinds and all went fine, just as I posted before. Maybe jms connector is the problem?
Hide
Permalink
Jameson Triplett added a comment - 06/Jul/12 02:36 PM

Mule 3.3 Studio project. Session Properties still get lost on Request-Reply router.

Show
Jameson Triplett added a comment - 06/Jul/12 02:36 PM Mule 3.3 Studio project. Session Properties still get lost on Request-Reply router.
Hide
Permalink
Daniel Feist added a comment - 14/Aug/12 09:11 PM

This continues to be an issue but only in the case when the message received from the request-reply inbound endpoint does not included a MULE_SESSION instance.

Show
Daniel Feist added a comment - 14/Aug/12 09:11 PM This continues to be an issue but only in the case when the message received from the request-reply inbound endpoint does not included a MULE_SESSION instance.
Hide
Permalink
Daniel Feist added a comment - 14/Aug/12 09:33 PM - edited

3.1.x: r24739
3.2.x: r24740
3.3.x: r24741

Show
Daniel Feist added a comment - 14/Aug/12 09:33 PM - edited 3.1.x: r24739 3.2.x: r24740 3.3.x: r24741

People

  • Assignee:
    Daniel Feist
    Reporter:
    Jameson Triplett
Vote (0)
Watch (0)

Dates

  • Created:
    26/Oct/11 12:51 PM
    Updated:
    27/Sep/12 12:38 PM
    Resolved:
    14/Aug/12 10:04 PM

Agile

  • View on Board
  • Atlassian JIRA (v5.0.7#734-sha1:8ad78a6)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for MuleForge. Try JIRA - bug tracking software for your team.