Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-6988

2.12.1 caches groovy call - resulting with previous caller state

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.12.1
    • 2.11.4, 2.12.3, 2.13.0
    • camel-groovy
    • None
    • same results using java 7 on osx, ubuntu, and windoze

    • Unknown

    Description

      2.12.1
      Works

              <simple>"${body.subOrderName}Endpoint"</simple>
      

      Fails

               <groovy>"${request.body.subOrderName}Endpoint"</groovy>
      

      2.11.1
      Works

              <simple>"${body.subOrderName}Endpoint"</simple>
      

      Works

              <groovy>"${request.body.subOrderName}Endpoint"</groovy>
      

      *Fails by returning a previous calls result for subOrderName.
      To reproduce you must make several calls in a timely manner with different bean data (OGNL/subOrderName).

      Route:

      ...
      <setHeader headerName="RSSX_ORDER_ROUTING_SLIP">
      <groovy>return "${request.body.subOrderName}Endpoint"</groovy>
      </setHeader>
      <!-- Route the order by the routing slip header -->
      <routingSlip>
      <header>RSSX_ORDER_ROUTING_SLIP</header>
      </routingSlip>
      ...
      

      Log:
      1st execution
      Before set header: UpdatePortIn

      After set header: RSSX_ORDER_ROUTING_SLIP=UpdatePortInEndpoint

      2nd execution (in a timely manner – exposing a LRU Cache issue?)
      Before set header: ResellerAddSubscriberPortIn
      After set header: RSSX_ORDER_ROUTING_SLIP=UpdatePortInEndpoint

      Same logic works in 2.11.1

      Additionally this does not appear OGNL related:
      I just ran into the case where

      <setHeader headerName="RSSX_ORDER_ROUTING_SLIP">
              <groovy>"${request.body.getSubOrderName()}Endpoint"</groovy>
            </setHeader>
      

      returns the cached subOrderName from the previous transaction

      So this appears to be isolated to the <groovy> component changes (LRU Cache?) that were introduced in 2.12.1

      Attachments

        Issue Links

          Activity

            People

              davsclaus Claus Ibsen
              7erry Terry Walters
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: