Hi Try with Camel 3.3.0 release first.
On Sun, May 17, 2020 at 8:49 AM Raju Parashar <rajuparasha...@gmail.com> wrote: > > Hello, > Good evening. > I have the below route > > from("file://home/input?moveFailed=.error&fileName=in.txt") > .transacted() > .split(body.tokenize("\n")).streaming() > .to("jms:queue:OUTQUEUE") > > When the file in.txt has less records (500 records), I found that all 500 > records gets committed in the OUTQUEUE all at once. This is the desired > behaviour. > > But when the file in.txt contains 10K or more records, then I am getting > Stack overflow error. To fix this, I increased thread stack size by setting > -Xss10M and it worked, but that's not the usual thing one should do. Can > you please tell, why camel threads needs so much of stack in this case ?. > and how resolve this issue without setting -Xss. > > Here is the complete stacktrace > > java.lang.StackOverflowError: null at > java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.8.0_231] at > java.lang.ClassLoader.defineClass(ClassLoader.java:756) ~[na:1.8.0_231] at > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) > ~[na:1.8.0_231] at > java.net.URLClassLoader.defineClass(URLClassLoader.java:468) > ~[na:1.8.0_231] at > java.net.URLClassLoader.access$100(URLClassLoader.java:74) ~[na:1.8.0_231] > at java.net.URLClassLoader$1.run(URLClassLoader.java:369) ~[na:1.8.0_231] > at java.net.URLClassLoader$1.run(URLClassLoader.java:363) ~[na:1.8.0_231] > at java.security.AccessController.doPrivileged(Native Method) > ~[na:1.8.0_231] at > java.net.URLClassLoader.findClass(URLClassLoader.java:362) ~[na:1.8.0_231] > at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[na:1.8.0_231] at > org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:92) > ~[CamelDemoApp-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] at > java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[na:1.8.0_231] at > ch.qos.logback.classic.spi.LoggingEvent.(LoggingEvent.java:119) > ~[logback-classic-1.2.3.jar!/:na] at > ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:419) > ~[logback-classic-1.2.3.jar!/:na] at > ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:383) > ~[logback-classic-1.2.3.jar!/:na] at > ch.qos.logback.classic.Logger.warn(Logger.java:692) > ~[logback-classic-1.2.3.jar!/:na] at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:155) > ~[camel-base-3.1.0.jar!/:3.1.0] at > org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55) > ~[camel-base-3.1.0.jar!/:3.1.0] at > org.apache.camel.processor.CamelInternalProcessor$AsyncAfterTask.done(CamelInternalProcessor.java:186) > ~[camel-base-3.1.0.jar!/:3.1.0] at > org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:126) > ~[camel-spring-3.1.0.jar!/:3.1.0] at > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:286) > ~[camel-base-3.1.0.jar!/:3.1.0] at > org.apache.camel.processor.MulticastProcessor$MulticastState.lambda$run$1(MulticastProcessor.java:352) > ~[camel-base-3.1.0.jar!/:3.1.0] at > org.apache.camel.util.concurrent.AsyncCompletionService$Task.run(AsyncCompletionService.java:150) > ~[camel-util-3.1.0.jar!/:3.1.0] at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:153) > ~[camel-base-3.1.0.jar!/:3.1.0] at > org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55) > ~[camel-base-3.1.0.jar!/:3.1.0] at > org.apache.camel.processor.CamelInternalProcessor$AsyncAfterTask.done(CamelInternalProcessor.java:186) > ~[camel-base-3.1.0.jar!/:3.1.0] at > org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:126) > ~[camel-spring-3.1.0.jar!/:3.1.0] at > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:286) > ~[camel-base-3.1.0.jar!/:3.1.0] at > org.apache.camel.processor.MulticastProcessor$MulticastState.lambda$run$1(MulticastProcessor.java:352) > ~[camel-base-3.1.0.jar!/:3.1.0] at > org.apache.camel.util.concurrent.AsyncCompletionService$Task.run(AsyncCompletionService.java:150) > ~[camel-util-3.1.0.jar!/:3.1.0] at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:153) > ~[camel-base-3.1.0.jar!/:3.1.0] at > org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55) > ~[camel-base-3.1.0.jar!/:3.1.0] at > org.apache.camel.processor.CamelInternalProcessor$AsyncAfterTask.done(CamelInternalProcessor.java:186) > ~[camel-base-3.1.0.jar!/:3.1.0] at > org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:126) > ~[camel-spring-3.1.0.jar!/:3.1.0] at > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:286) > ~[camel-base-3.1.0.jar!/:3.1.0] at > org.apache.camel.processor.MulticastProcessor$MulticastState.lambda$run$1(MulticastProcessor.java:352) > ~[camel-base-3.1.0.jar!/:3.1.0] at > org.apache.camel.util.concurrent.AsyncCompletionService$Task.run(AsyncCompletionService.java:150) > ~[camel-util-3.1.0.jar!/:3.1.0] at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:153) > ~[camel-base-3.1.0.jar!/:3.1.0] at > org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55) > ~[camel-base-3.1.0.jar!/:3.1.0] at > org.apache.camel.processor.CamelInternalProcessor$AsyncAfterTask.done(CamelInternalProcessor.java:186) > ~[camel-base-3.1.0.jar!/:3.1.0] at > org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:126) > ~[camel-spring-3.1.0.jar!/:3.1.0] at > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:286) > ~[camel-base-3.1.0.jar!/:3.1.0] at > org.apache.camel.processor.MulticastProcessor$MulticastState.lambda$run$1(MulticastProcessor.java:352) > ~[camel-base-3.1.0.jar!/:3.1.0] at > org.apache.camel.util.concurrent.AsyncCompletionService$Task.run(AsyncCompletionService.java:150) > ~[camel-util-3.1.0.jar!/:3.1.0] at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:153) > ~[camel-base-3.1.0.jar!/:3.1.0] at > org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55) > ~[camel-base-3.1.0.jar!/:3.1.0] at > org.apache.camel.processor.CamelInternalProcessor$AsyncAfterTask.done(CamelInternalProcessor.java:186) > ~[camel-base-3.1.0.jar!/:3.1.0] > > > > Regards, > Raju Parashar, -- Claus Ibsen ----------------- http://davsclaus.com @davsclaus Camel in Action 2: https://www.manning.com/ibsen2