When a JDBC Pool Manager rule is established on a cluster, Maximum Pool Size (max-pool-size) recalculation issues occur when * (applies to All Current and Future JDBC Connection Pools) is selected and a new JDBC connection pool is added to the cluster configuration. Since all pools are selected for automatic tuning, the Maximum Pool Size of the new pool is set to the default Maximum Pool Size setting instead of being calculated according to number of server instances present in the cluster. For example, suppose you have the following settings:
Default Max Connections: 100
Pool Name: * (applies to All Current and Future JDBC Connection Pools)
Max Connections: no value set
If there are two server instances in the cluster, then for all existing active JDBC connection pools, the Maximum Pool Size is recalculated to 50 by each of the instances. However, for any newly added JDBC connection pool, the Maximum Pool Size is recalculated to 100 by each of the instances.
Restart the cluster to recalculate the Maximum Pool Size for all JDBC connection pools on all server instances.
Selecting individual JDBC connection pool names with individual Max Connections values instead of selecting * (applies to All Current and Future JDBC Connection Pools) can prevent this issue in real-time production environments.