camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CAMEL-6988) 2.12.1 caches groovy call - resulting with previous caller state
Date Thu, 21 Nov 2013 19:37:35 GMT

     [ https://issues.apache.org/jira/browse/CAMEL-6988?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Claus Ibsen updated CAMEL-6988:
-------------------------------

    Fix Version/s:     (was: 2.11.1)

> 2.12.1 caches groovy call - resulting with previous caller state
> ----------------------------------------------------------------
>
>                 Key: CAMEL-6988
>                 URL: https://issues.apache.org/jira/browse/CAMEL-6988
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-groovy
>    Affects Versions: 2.12.1
>         Environment: same results using java 7 on osx, ubuntu, and windoze
>            Reporter: Terry Walters
>
> 2.12.1
> Works
> {code}
>         <simple>"${body.subOrderName}Endpoint"</simple>
> {code}
> Fails 
> {code}
>          <groovy>"${request.body.subOrderName}Endpoint"</groovy>
> {code}
> 2.11.1
> Works
> {code}
>         <simple>"${body.subOrderName}Endpoint"</simple>
> {code}
> Works
> {code}
>         <groovy>"${request.body.subOrderName}Endpoint"</groovy>
> {code}
> *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:
> {code}
> ...
> <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>
> ...
> {code}
> 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       
> {code}
> <setHeader headerName="RSSX_ORDER_ROUTING_SLIP">
>         <groovy>"${request.body.getSubOrderName()}Endpoint"</groovy>
>       </setHeader>
> {code}
> 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



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message