[jira] Created: (CAMEL-794) Pipeline with thread() processor also redelivers following the default policy independently from the preset errorhadling

classic Classic list List threaded Threaded
23 messages Options
12
Reply | Threaded
Open this post in threaded view
|

[jira] Commented: (CAMEL-794) Pipeline with thread() processor also redelivers following the default policy independently from the preset errorhadling

JIRA jira@apache.org

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

Bela Vizy commented on CAMEL-794:
---------------------------------

There's only one issue with this, but isn't a big deal. The failure gets logged twice. Once for the thread(n) and once for the processor which failed somewhere after the thread(n).  They get logged with their respective exchanges. I think only the exchange before the failed processor should be logged.

I will try to create a test case, but not sure how can this be automated with JUnit (you have to set it to debug and watch the log).
Anyway this is not a showstopper bug.

 

> Pipeline with thread() processor also redelivers following the default policy independently from the preset  errorhadling
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-794
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-794
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 1.4.0
>            Reporter: Bela Vizy
>            Assignee: Claus Ibsen
>             Fix For: 1.5.0
>
>         Attachments: BelasThreadErrorHandlerTest1.java, BelasThreadErrorHandlerTest2.java
>
>
> When using the thread processor in a simple pipeline, the exchange will be redelivered 6 times (default policy) along with the preset errorhandler settings. The code below will re-deliver 6 times to the default DeadLetterChannel and once to the log:errorTester.
>     errorHandler(deadLetterChannel("log:errorTester?level=ERROR").maximumRedeliveries(1));
>
>     from("seda:whatEver")
>         .thread(2)
>         .process(new Processor() {
>         public void process(Exchange exchange) throws Exception {
>         System.out.println("### Exchg : " + exchange.getExchangeId());
>         throw new Exception("Kaboom 2!");
>         }
>         });

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply | Threaded
Open this post in threaded view
|

[jira] Commented: (CAMEL-794) Pipeline with thread() processor also redelivers following the default policy independently from the preset errorhadling

JIRA jira@apache.org
In reply to this post by JIRA jira@apache.org

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

Claus Ibsen commented on CAMEL-794:
-----------------------------------

Bela yes please if you are digging into this create a new ticket with the findings.

When you say "logged" do you mean the DEBUG logging in camel or that the exchange is moved to a dead letter channel after all redeliveries failed? Can you elaborate a bit on this?

> Pipeline with thread() processor also redelivers following the default policy independently from the preset  errorhadling
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-794
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-794
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 1.4.0
>            Reporter: Bela Vizy
>            Assignee: Claus Ibsen
>             Fix For: 1.5.0
>
>         Attachments: BelasThreadErrorHandlerTest1.java, BelasThreadErrorHandlerTest2.java
>
>
> When using the thread processor in a simple pipeline, the exchange will be redelivered 6 times (default policy) along with the preset errorhandler settings. The code below will re-deliver 6 times to the default DeadLetterChannel and once to the log:errorTester.
>     errorHandler(deadLetterChannel("log:errorTester?level=ERROR").maximumRedeliveries(1));
>
>     from("seda:whatEver")
>         .thread(2)
>         .process(new Processor() {
>         public void process(Exchange exchange) throws Exception {
>         System.out.println("### Exchg : " + exchange.getExchangeId());
>         throw new Exception("Kaboom 2!");
>         }
>         });

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply | Threaded
Open this post in threaded view
|

[jira] Commented: (CAMEL-794) Pipeline with thread() processor also redelivers following the default policy independently from the preset errorhadling

JIRA jira@apache.org
In reply to this post by JIRA jira@apache.org

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

Bela Vizy commented on CAMEL-794:
---------------------------------

Yes, I meant the log messages. I cannot reproduce it in a unit test, but it is still happening in my system.
While trying to create the test I found someting else:

https://issues.apache.org/activemq/browse/CAMEL-901

It maybe the indirect cause of my logging problem. Let me know if I can help in any ways.

> Pipeline with thread() processor also redelivers following the default policy independently from the preset  errorhadling
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-794
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-794
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 1.4.0
>            Reporter: Bela Vizy
>            Assignee: Claus Ibsen
>             Fix For: 1.5.0
>
>         Attachments: BelasThreadErrorHandlerTest1.java, BelasThreadErrorHandlerTest2.java
>
>
> When using the thread processor in a simple pipeline, the exchange will be redelivered 6 times (default policy) along with the preset errorhandler settings. The code below will re-deliver 6 times to the default DeadLetterChannel and once to the log:errorTester.
>     errorHandler(deadLetterChannel("log:errorTester?level=ERROR").maximumRedeliveries(1));
>
>     from("seda:whatEver")
>         .thread(2)
>         .process(new Processor() {
>         public void process(Exchange exchange) throws Exception {
>         System.out.println("### Exchg : " + exchange.getExchangeId());
>         throw new Exception("Kaboom 2!");
>         }
>         });

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

12