camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CAMEL-2445) BatchProcesser.processExchange needs to catch Throwable
Date Thu, 04 Feb 2010 06:18:32 GMT

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

Claus Ibsen commented on CAMEL-2445:
------------------------------------

I will change Camel 2.x to catch all kind of exceptions in CAMEL-2448. Then the regular camel
error handler will also handle this NoSuchMethodException which will at minimum be logged,
so there is a trace in the log now.

In 1.x we will patch it with your patches so BatchProcessor will log the exceptions.

I have adjusted your patch a bit as you need to catch the exception in the loop so Camel will
process the next exchange to drain the aggregated exceptions. Otherwise they will be kept
in the memory and it will only process 1 exchange at every trigger. And thus it can lead to
consume more memory if your fill in more messages than it can drain.

> BatchProcesser.processExchange needs to catch Throwable
> -------------------------------------------------------
>
>                 Key: CAMEL-2445
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-2445
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 1.6.2, 2.1.0
>            Reporter: Stan Lewis
>            Assignee: Stan Lewis
>             Fix For: 1.6.3, 2.2.0
>
>         Attachments: 1.x.patch, 2.x.patch, patch-1.x.txt, patch-2.x.txt
>
>
> If an aggregator sends an exchange to a processor that throws an Error this causes the
thread started by BatchProcessor to exit, exchanges will then accumulate in the aggregator
until an OutOfMemoryError occurs.
> This patch sorts that out and adds a unit test, however there's another problem that
I'm still looking into, namely that BatchProcessor just uses an instance of LoggingErrorHandler
as it's exception handler, so any exceptions/errors caught by this processor will just get
logged and not follow the normal Camel error handling.

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


Mime
View raw message