[ 
https://issues.apache.org/jira/browse/POOL-151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12776413#action_12776413
 ] 

Hassan Sajjad commented on POOL-151:
------------------------------------

# The [above pool settings 
|https://issues.apache.org/jira/browse/POOL-151?focusedCommentId=12765145&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_12765145]
 are for this test only. 
In the real env. the 2 eviction params ({{timeBetweenEvictionRunsMillis}} and 
{{minEvictableIdleTimeMillis}}) change to 10 minutes.
# {{factory.passivateObject()}} and {{factory.activateObject()}} are empty:
{noformat}
    public void activateObject(Object o) throws Exception
    {

    }

    public void passivateObject(Object o) throws Exception
    {
        
    }
{noformat}
# {{factory.destroyObject()}} is the only place that closes the session. Pretty 
certain this is triggered by the Eviction thread, because:
## If you disable Eviction on the pool, there is no closing of the sessions and 
the issue is no longer there! The sessions then become vulnerable to other 
longevity related issues such as timeouts due to long period of idleness etc.
## See the thread id associated with close calls '{{Timer-0}}' - seems to be a 
time scheduled job like the Eviction.




> Eviction thread is able to remove (destroy) in-flight (borrowed) objects
> ------------------------------------------------------------------------
>
>                 Key: POOL-151
>                 URL: https://issues.apache.org/jira/browse/POOL-151
>             Project: Commons Pool
>          Issue Type: Bug
>    Affects Versions: 1.5.3
>            Reporter: Hassan Sajjad
>            Priority: Blocker
>
> Under high concurrent use, the eviction thread can temper with an in-use 
> object from the pool, potentially causing catastrophic results, as illustrate 
> in the below log from our use. Note the object - in our case JMSSession is 
> closed in-flight (after message send but before commit), causing the commit 
> to fail with {{javax.jms.IllegalStateException: MQJMS1024: session closed}} 
> error.
> {noformat}
> 2009-10-12 15:08:40,254 DEBUG [asyncDelivery59] Borrowed session 
> com.ibm.mq.jms.mqqueuesess...@40bc88 for jms connector 
> 2009-10-12 15:08:40,341 DEBUG [Timer-0] Physically closing 
> com.ibm.mq.jms.mqqueuesess...@40bc88 for connector 
> 2009-10-12 15:08:40,669 DEBUG [asyncDelivery59] Returning session 
> com.ibm.mq.jms.mqqueuesess...@40bc88 for jms conn
> ector
> 2009-10-12 15:08:40,433 ERROR [asyncDelivery59] Exception caught while 
> committing transaction [com.ibm.mq.jms.mqqueuesess...@40bc88]
> {noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to