Hi, I have one correction to do: the difference is between Apache Camel 3.4.3 + Spring Boot 2.3.2 vs Apache Camel 2.24.2 with Spring Boot 2.1.8.
Thank you -----Original Message----- From: Corneliu Chitic Sent: Thursday, September 17, 2020 03:32 To: users@camel.apache.org Subject: Performance regression with bean and ognl expressions in Simple language version 3.4.x Hi, we've identified a performance regression while running same code with Apache Camel 3.4.3 + Spring Boot vs Apache Camel 2.24.2 with Spring framework 5.1.9. We've migrated one application to this LTS version and we face this impact. The main bottleneck is the synchronized block from: org.apache.camel.impl.engine.AbstractCamelContext.resolveLanguage(String). The root cause is the time spent to validate Simple expressions when using bean language (${bean:name?method=something}) or OGNL like calls to POJO methods (${exchangeProperty.pojo.method}). According to the stack traces the new version spends time to allocate the bean + full setup of it. Blocking times are quite high (average 100ms, max could be ~300ms) and as the number of parallel processing threads increases it goes up steadily. Has anything changed in version 3.x (or more precisely 3.4.x)? The changelogs and upgrade tutorial didn't suggested anything in this area. Is there any configuration flag that would allow us to switch back to version 2.x mode of working for this functionality? We have run repeated trials and have consistent results with both versions; we have a project setup to demo this and also some Java Flight recordings for comparison. I don't think I can attach anything to this maillist, please let me know how I can provide any additional input if needed. Thank you, Corneliu This email is subject to Computaris email terms of use: https://www.computaris.com/email-terms-use/