Wolfgang Glas created POOL-336:
----------------------------------

             Summary: GenericObjectPool's borrowObject lock if create() fails 
with Error
                 Key: POOL-336
                 URL: https://issues.apache.org/jira/browse/POOL-336
             Project: Commons Pool
          Issue Type: Bug
    Affects Versions: 2.5.0, 2.4.3
         Environment: mariadb-connector-j
            Reporter: Wolfgang Glas
             Fix For: 2.5.1


We've spotted exactly the same problem as described in POOL-303 for a pool 
using mariadb-connector-j-2.1.2 with a pool configured to a size, which exactly 
reflects the normal quantity of used DB connections. 
After weeks of monitoring the situation, we were able to see the same problem 
as described in POOL-303. After some more drilldown efforts we concluded, that 
the problem is triggered, because mariadb-connector-j throws instances of 
Throwables derived from {{java.lang.Error}}, which are not instances of 
{{java.lang.Execption}}.
This leads to a leak of {{makeCount}} in GenericObjectPool.create(), because 
{{makeCount}} is only decremented, when an instance of {{java.lang.Exception}} 
is thrown and not when an instance of {{java.langError}} is thrown.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to