arturobernalg opened a new pull request, #1102: URL: https://github.com/apache/tomcat/pull/1102
Fixes https://bz.apache.org/bugzilla/show_bug.cgi?id=65929 `ProxyConnection` did not handle `abort()`. The call reached the physical connection, but the pooled connection was never given back: it stayed busy, the proxy kept reporting it as open and the pool could be exhausted by aborted connections. This change treats `abort()` like `close()` in `ProxyConnection` and in `DisposableConnectionFacade`, but marks the pooled connection as discarded so that the pool releases it instead of handing it out again. Calling `abort()` on a closed connection does nothing, as required by `java.sql.Connection#abort`. A `JdbcInterceptor.ABORT_VAL` constant is added next to the other method names. `ConnectionAbortTest` covers the released slot, a new physical connection on the next borrow, `abort()` on a closed connection and the path without the disposable facade. Before the change the first three tests fail (`busy:1`, `PoolExhaustedException`, and `SQLException` on an already closed connection). The test driver's `abort()` was an empty stub and now closes the connection, as a real driver does. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
