[ https://issues.apache.org/jira/browse/CAMEL-6377?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13721927#comment-13721927 ]
Claus Ibsen edited comment on CAMEL-6377 at 7/28/13 1:12 PM: ------------------------------------------------------------- SendProcessor optimization *done* *before* {code} 2013-07-28 11:02:39,230 [ - seda://start] INFO ngSendProcessorTest$MyProducer - There are 16 lines in the stacktrace 2013-07-28 11:02:39,231 [ - seda://start] ERROR ngSendProcessorTest$MyProducer - Dump stacktrace to log java.lang.IllegalArgumentException: Forced to dump stacktrace at org.apache.camel.processor.ReduceStacksNeededDuringRoutingSendProcessorTest$MyProducer.process(ReduceStacksNeededDuringRoutingSendProcessorTest.java:102) at org.apache.camel.processor.SendProcessor$1.doInAsyncProducer(SendProcessor.java:101) at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:298) at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:96) at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72) at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:192) at org.apache.camel.processor.Pipeline.process(Pipeline.java:118) at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:192) at org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:293) at org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:202) at org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:149) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722) {code} *after* {code} 2013-07-28 11:09:56,882 [ - seda://start] INFO ngSendProcessorTest$MyProducer - There are 14 lines in the stacktrace 2013-07-28 11:09:56,884 [ - seda://start] ERROR ngSendProcessorTest$MyProducer - Dump stacktrace to log java.lang.IllegalArgumentException: Forced to dump stacktrace at org.apache.camel.processor.ReduceStacksNeededDuringRoutingSendProcessorTest$MyProducer.process(ReduceStacksNeededDuringRoutingSendProcessorTest.java:102) at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:99) at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72) at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:192) at org.apache.camel.processor.Pipeline.process(Pipeline.java:118) at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:192) at org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:293) at org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:202) at org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:149) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722) {code} was (Author: davsclaus): SendProcessor optimization *before* {code} 2013-07-28 11:02:39,230 [ - seda://start] INFO ngSendProcessorTest$MyProducer - There are 16 lines in the stacktrace 2013-07-28 11:02:39,231 [ - seda://start] ERROR ngSendProcessorTest$MyProducer - Dump stacktrace to log java.lang.IllegalArgumentException: Forced to dump stacktrace at org.apache.camel.processor.ReduceStacksNeededDuringRoutingSendProcessorTest$MyProducer.process(ReduceStacksNeededDuringRoutingSendProcessorTest.java:102) at org.apache.camel.processor.SendProcessor$1.doInAsyncProducer(SendProcessor.java:101) at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:298) at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:96) at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72) at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:192) at org.apache.camel.processor.Pipeline.process(Pipeline.java:118) at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:192) at org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:293) at org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:202) at org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:149) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722) {code} *after* {code} 2013-07-28 11:09:56,882 [ - seda://start] INFO ngSendProcessorTest$MyProducer - There are 14 lines in the stacktrace 2013-07-28 11:09:56,884 [ - seda://start] ERROR ngSendProcessorTest$MyProducer - Dump stacktrace to log java.lang.IllegalArgumentException: Forced to dump stacktrace at org.apache.camel.processor.ReduceStacksNeededDuringRoutingSendProcessorTest$MyProducer.process(ReduceStacksNeededDuringRoutingSendProcessorTest.java:102) at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:99) at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72) at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:192) at org.apache.camel.processor.Pipeline.process(Pipeline.java:118) at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:192) at org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:293) at org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:202) at org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:149) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722) {code} > Optimize routing engine to reduce stack frames in use during routing and > reduce callbacks > ----------------------------------------------------------------------------------------- > > Key: CAMEL-6377 > URL: https://issues.apache.org/jira/browse/CAMEL-6377 > Project: Camel > Issue Type: Improvement > Components: camel-core > Affects Versions: 2.12.0 > Reporter: Claus Ibsen > Assignee: Claus Ibsen > Fix For: 2.12.0 > > > We can optimize the Camel routing engine internally, and redue the need for > wrapping processors (those internally used for cross cutting functionality) > where they would wrap each other one by one; which then results in larger > call stacks during routing. > This also shows to end users when stacktraces is being logged etc, as they > tend to be a bit longer with many internal calls. > Though the JVM optimizes this at runtime as it can inline the calls and > whatnot. But the stacktraces is still shown expanded. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira