camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bob Browning (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CAMEL-7500) Concurrent modification of exchange during retry leads to futher processing of failed messages
Date Wed, 11 Jun 2014 17:07:01 GMT

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

Bob Browning updated CAMEL-7500:
--------------------------------

    Attachment: NettyRedeliveryTest.java

> Concurrent modification of exchange during retry leads to futher processing of failed
messages
> ----------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-7500
>                 URL: https://issues.apache.org/jira/browse/CAMEL-7500
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-netty
>    Affects Versions: 2.13.1
>            Reporter: Bob Browning
>         Attachments: NettyRedeliveryTest.java
>
>
> When a exception occurs on a netty TCP channel such as ChanelClosedException then there
are two invocations of the producer callback. 
> If there is a redelivery handler configured this causes either two threads to be added
to the scheduled thread-pool which then compete or in the more common case the first invocation
adds the redelivery thread but in doing so clears the exception from the exchange such that
when the subsequent callback invocation occurs it see's the event as a success and continues
routing of the exchange.
> Note this also seems to be a cause of negative inflight messages on the route.
> The first callback invocation occurs in the ChannelFutureListener which is the usual
case.
> The second callback invocation which comes from the ClientChannelHandler registered in
the DefaultClientPipelineFactory used by the NettyProducer.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message