Closed limkl-psa closed 2 months ago
Update: There is no bug in EclipseLink JPA and JDBC Drivers.
In the failing test, the JDBC statement was executed within the JDBC query timeout. The rest of the time was spent by EclipseLink marshalling the ResultSet into JPA Entities, thus giving the false impression that the JDBC query timeout did not kick in.
Hi EclipseLink Team,
Context:
I am exploring setting jakarta.persistence.query.timeout to throw a QueryTimeoutException for overly long queries.
Setup:
I am using SpringBoot 3.2.4, EclipseLink 4.0.0, Java 17.0.11, Oracle 19.23 DB, MySQL 8.4.
Problem Statement:
Oracle DB
1. Locked Table Query: This is working (PersistenceException was thrown after 1 sec).
Test Output:
2. Long Query: This is not working (the query takes 7s but no PersistenceException was thrown).
Test Output:
MySQL DB
1. Locked Table Query: This is working (PersistenceException was thrown after 1 sec).
Output:
2. Long Query: This is not working (the query takes 4s but no PersistenceException was thrown).
Test Output:
I am not sure why there would be a difference in EclipseLink API behavior between locked table queries and actual long queries.
Any advice would be greatly appreciated.
Thanks, Victor