Agroal


home  
github  
license  
issues  
The natural database connection pool

3.1 Release2026 05 07

The lastest release of Agroal is here. Amongst the biggest changes are the way connections are created that was changed to allow parallel creation. Another noteworthy change is a fast flush when there is a validation failure.

New features include configuration for the retries on connection creation and new settings to control network timeouts.

There are also a number of bug fixes related with concurrent transaction timeouts, including AG-300 that was backported to 3.0, 2.8 and 2.7 branches.

This version had contributions from Dennis Kniep, Ronald Milk and Marco Sappe Griot.

Feature Request

  • AG-293 Add support for connection establishment retries
  • AG-296 Add network timeout setting
  • AG-299 Add option to add interceptors to connection pool through spring configuration

Enhancement

  • AG-290 Create connections on the calling thread
  • AG-294 Improve StampedCopyOnWriteArrayList
  • AG-295 Encapsulate state transitions in ConnectionHandler
  • AG-302 Flush all idle connections on first validation failure to speed up recovery after DB failover
  • AG-305 Use Connection.setNetworkTimeout as a hard backstop in sqlValidator
  • AG-306 Rename MultipleAcquisitionAction.OFF to LENIENT for clarity

Bug

  • AG-287 Exhausted connections during periodic recovery process
  • AG-288 Impossible to set login timeout when using AgroalDataSource
  • AG-298 Spring Boot health check database entry is always UNKNOWN even for correctly configured datasources
  • AG-300 Synchronization issues with Narayana Transaction Reaper thread
  • AG-304 Fix interleaving issue with the Narayana reaper thread

Task

  • AG-292 Improve reliability of concurrency tests
  • AG-307 Update dependencies for 3.1 release