camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: Camel KratiConsumer throw OutOfMemory!
Date Fri, 17 May 2013 07:00:39 GMT
Hi

I logged a ticket to improve this
https://issues.apache.org/jira/browse/CAMEL-6372

Then you can use maxMessagesPerPoll=1000 etc to cap at most 1000
entries per poll to avoid the OOME

On Thu, May 16, 2013 at 11:03 AM, matt.u <mattu.cn@gmail.com> wrote:
> Camel KratiConsumer throw OutOfMemory like this:
> Consumer Consumer[krati://notifications?operation=CamelKratiDelete] failed
> polling endpoint:
> Endpoint[krati://notifications?operation=CamelKratiDelete]. Will try again
> at next poll. Caused by: [java.lang.OutOfMemoryError - Java heap space]
> java.lang.OutOfMemoryError: Java heap space
>         at java.util.ArrayList.<init>(ArrayList.java:112)
>         at
> krati.store.DefaultDataStoreHandler.extractKeys(DefaultDataStoreHandler.java:226)
>         at krati.store.DataStoreKeyIterator.findNext(DataStoreKeyIterator.java:82)
>         at krati.store.DataStoreKeyIterator.hasNext(DataStoreKeyIterator.java:52)
>         at
> krati.store.ObjectStoreKeyIterator.hasNext(ObjectStoreKeyIterator.java:43)
>         at
> org.apache.camel.component.krati.KratiConsumer.poll(KratiConsumer.java:58)
>
> I think the problem is KratiConsumer.poll():
> Iterator keyIterator = dataStore.keyIterator();
>         while (keyIterator.hasNext()) {* //It's no limit, so use many
> memory*
>             Object key = keyIterator.next();
>             Object value = dataStore.get(key);
>             Exchange exchange = endpoint.createExchange();
>             exchange.setProperty(KratiConstants.KEY, key);
>             exchange.getIn().setBody(value);
>             queue.add(exchange);
>         }
>         return queue.isEmpty() ? 0 : processBatch(CastUtils.cast(queue));
>
>
>
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/Camel-KratiConsumer-throw-OutOfMemory-tp5732669.html
> Sent from the Camel Development mailing list archive at Nabble.com.



-- 
Claus Ibsen
-----------------
www.camelone.org: The open source integration conference.

Red Hat, Inc.
FuseSource is now part of Red Hat
Email: cibsen@redhat.com
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen

Mime
View raw message