Vishal Suryakant Deshmukh opened SPR-17636 and commented
We are using SimpleJdbcCall to call oracle stored procedure from IBM WebSphere Application Server (WAS). The transaction management is maintained in stored procedure (at database level). We have given QueryTimeout to procedure call. Consider below scenario. 1. Request 1 1. Invoked stored procedure ABC. 2. QueryTimeoutException occured. 3. Connection is returned to WAS Connection Pool. 2. Request 2 1. Invoked stored procedure ABC for next request 2. Now received exception ORA-02067: transaction or savepoint rollback required as earlier Transaction is not committed or rolled back due to QueryTimeoutException. Please find attached exception log.
Affects: 4.3.22
Attachments: - errortrace.log (16.90 kB)
Comment From: snicoll
Looking at the stacktrace, I am afraid I don't really see how this would be related to our JDBC abstraction. You mention that the transaction is not rolled back when the first request goes in timeout but you also shared that the transaction is managed at the database level. This makes the report not really actionable.
If you can share a small sample that reproduces the problem, we can reopen but please upgrade first as Spring Framework 4.3 is EOL.