A regression that can cause performance degradation is present in this release of JBoss EAP 6. It has been traced to the `Statement#getWarnings` method (which was negatively impacted by changes made to resolve an earlier memory leak caused by a bug in the Sybase JDBC drivers).
To address the performance issues, new code has been added to check the log level of warnings and ignore any messages below WARN level. These messages are cleared and not written to the +server.log+ file. While this measure mitigates much of the performance degradation, the issue may still present to varying degrees, depending on the JDBC implementation being used.
To avoid the performance issue completely, users can raise this threshold by setting the `org.hibernate` logging category to ERROR. Care should be taken before making this change, however, as ignoring warnings below the ERROR level can obfuscate possible problems in the database.
+++ This bug was initially created as a clone of Bug #1094756 +++
Description of problem:
We have found a performance regression with EAP 6.2.3 CP build. We see ~20% drop of throughput with complex enterprise application (EJB, JPA, JMS, JSP).
Version-Release number of selected component (if applicable):
Always, we have stable results
We see a performance regression with Daytrader benchmark. Results show ~20% drop on TPS with complex trader scenario (EE application with JMS).
CP release should not introduce any regressions.
EAP 6.2.3 CP release contains upgrades of many components. We have tried to isolate cause of this regression and it looks like that upgrade of Hibernate in EAP 6.2.3 CP causes this regression. We have re-executed performance test with modified build with downgraded Hibernate and we do not see any performance regressions.
--- Additional comment from Brett Meyer on 2014-05-06 10:17:51 EDT ---
Discussing with the team -- most likely due to https://hibernate.atlassian.net/browse/HHH-3051
--- Additional comment from Brett Meyer on 2014-05-06 10:46:29 EDT ---
Pavel, can you confirm that the 20% drop is when compared against 6.2.0 (ORM 4.2.7.SP1)?
--- Additional comment from Martin Simka on 2014-05-06 11:09:43 EDT ---
yes, it's when compared against 6.2.0. We also tried to execute performance test with EAP 6.2.3 and hibernate jars from 6.2.0 and in that case there was no performance regression.
1094756 identified two fixes that corrected the performance regression in EAP 6.2.x/ORM 4.2.7.SPx. However, initial tests show that there is still an additional amount of regression in 4.2.13-SNAPSHOT, even with those fixes. We'll continue to evaluate for EAP 6.3
We have updated information on BZ https://bugzilla.redhat.com/show_bug.cgi?id=1094756.
It seems that regression is caused by commit a0b01c5483d1f7857c640070b0cafd2c436e5fb5.
It turns out that the fixes in https://bugzilla.redhat.com/show_bug.cgi?id=1094756 were sufficient, according to Andrig Miller. This is corrected upstream and will make it into our upgrade next week.
*** Bug 1105529 has been marked as a duplicate of this bug. ***
verified on EAP 6.3.0.ER7. There is no performance degradation when `org.hibernate` logging category is set to ERROR.
Doc text copied from https://bugzilla.redhat.com/show_bug.cgi?id=1094756 which fixed this issue in EAP 6.2.3.CP