[ 
https://issues.apache.org/jira/browse/POOL-356?focusedWorklogId=316227&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-316227
 ]

ASF GitHub Bot logged work on POOL-356:
---------------------------------------

                Author: ASF GitHub Bot
            Created on: 22/Sep/19 07:34
            Start Date: 22/Sep/19 07:34
    Worklog Time Spent: 10m 
      Work Description: coveralls commented on issue #25: POOL-356 and POOL-376
URL: https://github.com/apache/commons-pool/pull/25#issuecomment-533857380
 
 
   
   [![Coverage 
Status](https://coveralls.io/builds/25852755/badge)](https://coveralls.io/builds/25852755)
   
   Coverage decreased (-0.2%) to 84.137% when pulling 
**b3993612489f87247e5b753724457f2cf97d3396 on sazzad16:patch-2** into 
**cb38a1b69384a3811d50d9eb0145683227fe8d51 on apache:master**.
   
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 316227)
    Time Spent: 20m  (was: 10m)

> deadlock if borrowObject gets called to fast and maxIdle is 0
> -------------------------------------------------------------
>
>                 Key: POOL-356
>                 URL: https://issues.apache.org/jira/browse/POOL-356
>             Project: Commons Pool
>          Issue Type: Bug
>    Affects Versions: 2.6.0
>            Reporter: Mark Struberg
>            Assignee: Mark Struberg
>            Priority: Major
>             Fix For: 2.6.1
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> I figured this while creating a unit test for OpenJPA. But also did see this 
> in real production with commons-dbcp2. See DBCP-513 for more info.
> See this comment for a precise explanation what happens 
> https://issues.apache.org/jira/browse/DBCP-513?focusedCommentId=16660545&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16660545
> The problem is basically that the logic to immediately destroy a pool object 
> does not notify the DeLinkedQueue:
> {code}
>         if (isClosed() || maxIdleSave > -1 && maxIdleSave <= 
> idleObjects.size()) {
>             try {
>                 destroy(p);
> {code}
> But the borrowObject code is locking on that condition...
> {code}
>                     if (borrowMaxWaitMillis < 0) {
>                         p = idleObjects.takeFirst();
>                     } 
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to