You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Willem Jiang (JIRA)" <ji...@apache.org> on 2015/07/01 10:34:04 UTC

[jira] [Commented] (CAMEL-8923) Kafka: Topic name lookup from message headers in the producer causes infinite loop

    [ https://issues.apache.org/jira/browse/CAMEL-8923?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14609737#comment-14609737 ] 

Willem Jiang commented on CAMEL-8923:
-------------------------------------

You can workaround this issue by removing the topic header before sending the message to another topic.
We can add bridgeEndpoint option to let the producer ignore the topic header to fix this kind of issue.
{code}
from("kafka://<broker>?topic=T1")
.process(myProcessor)
.removeHeader("kafka.TOPIC")
.to("kafka://<broker>?topic=T2")
{code}

> Kafka: Topic name lookup from message headers in the producer causes infinite loop
> ----------------------------------------------------------------------------------
>
>                 Key: CAMEL-8923
>                 URL: https://issues.apache.org/jira/browse/CAMEL-8923
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-kafka
>    Affects Versions: 2.15.1
>            Reporter: RAHUL JAIN
>
> Refer changes done for CAMEL-7331
> The change causes a critical bug.
> For a camel route as follows:
> {code}
> from("kafka://<broker>?topic=T1")
> .process(myProcessor)
> .to("kafka://<broker>?topic=T2")
> {code}
> KafkaExchange will be created by KafkaConsumer and the topic will be set to "T1" in the header.
> For the 'to' endpoint, KafkaProducer will try to read the topic from the exchange header which is still "T1" instead of "T2" thereby causing an infinite loop.
> As discussed in user-group, a different header should be used to read the topic name from message. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)