Weblogic Connection pool strange behavior in pool shrinking
Hi.
I am running an application deployed on weblogic 10.3. Connection pool settings are as follows for one of my data source:
<jdbc-connection-pool-params>
<initial-capacity>50</initial-capacity>
<max-capacity>200</max-capacity>
<capacity-increment>10</capacity-increment>
<shrink-frequency-seconds>0</shrink-frequency-seconds>
<highest-num-waiters>2147483647</highest-num-waiters>
<connection-creation-retry-frequency-seconds>10</connection-creation-retry-frequency-seconds>
<connection-reserve-timeout-seconds>30</connection-reserve-timeout-seconds>
<test-frequency-seconds>0</test-frequency-seconds>
<test-connections-on-reserve>true</test-connections-on-reserve>
<ignore-in-use-connections-enabled>true</ignore-in-use-connections-enabled>
<inactive-connection-timeout-seconds>0</inactive-connection-timeout-seconds>
<test-table-name>DUAL</test-table-name>
<login-delay-seconds>0</login-delay-seconds>
<statement-cache-size>10</statement-cache-size>
<statement-cache-type>LRU</statement-cache-type>
<remove-infected-connections>false</remove-infected-connections>
<seconds-to-trust-an-idle-pool-connection>0</seconds-to-trust-an-idle-pool-connection>
<statement-timeout>-1</statement-timeout>
<pinned-to-thread>false</pinned-to-thread>
</jdbc-connection-pool-params>
When the application is loaded (Lots of requests are being fired) I see the connection pool grow up to 110 (current_capacity = 110 from console) and Active connection high count = 102. But then I noticed that the capacity shrank suddenly - went down to 40 and I saw "failed reserve request count" grow very fast. I am not sure which one of these events happened first. At the same time Oracle DBA reported that there were new connections being setup on oracle DB that were much higher than 110. Application started throwing exceptions "MY_DS connection pool is disabled". After some time( few seconds) connection pool recovered back to its capacity of 110. But oracle DBA confirmed that the connections setup by this client on oracle DB were not reduced. They were close to 240.
I am confused about the sudden shrinkage in connection pool capacity and the number of connections setup on DB side. We have shrink-frequency-seconds set to 0 just to test that connection pool shouldn't shrink. Any clues or pointers to what should I focus on here will be much appreciated. So far I am completely at loss with this behavior. Documentation around "Failed reserve request count" (what can be the possible causes) and Connection pool shrinkage algorithms was not of much help.
Thanks again for all the pointers you can throw at me :)