You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Wolfgang Glas (JIRA)" <ji...@apache.org> on 2018/01/11 13:09:00 UTC

[jira] [Closed] (POOL-336) GenericObjectPool's borrowObject lock if create() fails with Error

     [ https://issues.apache.org/jira/browse/POOL-336?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Wolfgang Glas closed POOL-336.
------------------------------

Closing issue, because the original problem is solved and other problems are raised against mariadb-connector-j

> 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.4.3, 2.5.0
>         Environment: mariadb-connector-j
>            Reporter: Wolfgang Glas
>              Labels: patch
>             Fix For: 2.5.1
>
>         Attachments: 0001-Add-a-test-case-for-POOL-336.patch, 0002-Fix-POOL-336.patch
>
>
> 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)