You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Phil Steitz <ph...@gmail.com> on 2011/05/13 07:42:32 UTC
[pool] GKOP test failures
I saw this
Failed tests:
testMaxTotalInvariant(org.apache.commons.pool2.impl.TestGenericKeyedObjectPool):
Thread failed: 2
java.lang.IllegalStateException: Returned object not currently part
of this pool
at
org.apache.commons.pool2.impl.GenericKeyedObjectPool.returnObject(GenericKeyedObjectPool.java:1158)
at
org.apache.commons.pool2.impl.TestGenericKeyedObjectPool$TestThread.run(TestGenericKeyedObjectPool.java:1582)
at java.lang.Thread.run(Thread.java:680)
I also get these regularly when running load tests using [performance].
I added some instrumentation to GKOP to dump out
objectDeque.getAllObjects().size() and it is always 0 for the key
when this happens.
Phil
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org
Re: [pool] GKOP test failures
Posted by Phil Steitz <ph...@gmail.com>.
On 5/13/11 3:20 AM, Mark Thomas wrote:
> On 13/05/2011 07:25, markt@apache.org wrote:
>> Phil Steitz <ph...@gmail.com> wrote:
>>
>>> I saw this
>>> Failed tests:
>>>
>>> testMaxTotalInvariant(org.apache.commons.pool2.impl.TestGenericKeyedObjectPool):
>>> Thread failed: 2
>>> java.lang.IllegalStateException: Returned object not currently part
>>> of this pool
>>> at
>>> org.apache.commons.pool2.impl.GenericKeyedObjectPool.returnObject(GenericKeyedObjectPool.java:1158)
>>> at
>>> org.apache.commons.pool2.impl.TestGenericKeyedObjectPool$TestThread.run(TestGenericKeyedObjectPool.java:1582)
>>> at java.lang.Thread.run(Thread.java:680)
>>>
>>> I also get these regularly when running load tests using [performance].
>>>
>>> I added some instrumentation to GKOP to dump out
>>> objectDeque.getAllObjects().size() and it is always 0 for the key
>>> when this happens.
>>>
>>> Phil
> I now have commons-performance running and can reproduce this. Hopefully
> a fix will be forthcoming shortly. I've looked once and can't see
> anything so as before, any help with this would be appreciated.
>
I will look into this today. I will also check in the changes that
I made last night to [performance] to implement equals(), hashCode()
and toString() for the Waiter. Unfortunately, this did not explain
the problem, but it made me realize that we should doc the fact that
poolable objects need to be hashable from this point forward. My
first thought was ensureMinIdle and / or destroy not correctly
maintaining allObjects; but that looks OK. Will keep looking.
Phil
> Mark
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org
Re: [pool] GKOP test failures
Posted by Mark Thomas <ma...@apache.org>.
On 13/05/2011 11:20, Mark Thomas wrote:
> On 13/05/2011 07:25, markt@apache.org wrote:
>> Phil Steitz <ph...@gmail.com> wrote:
>>
>>> I saw this
>>> Failed tests:
>>>
>>> testMaxTotalInvariant(org.apache.commons.pool2.impl.TestGenericKeyedObjectPool):
>>> Thread failed: 2
>>> java.lang.IllegalStateException: Returned object not currently part
>>> of this pool
>>> at
>>> org.apache.commons.pool2.impl.GenericKeyedObjectPool.returnObject(GenericKeyedObjectPool.java:1158)
>>> at
>>> org.apache.commons.pool2.impl.TestGenericKeyedObjectPool$TestThread.run(TestGenericKeyedObjectPool.java:1582)
>>> at java.lang.Thread.run(Thread.java:680)
>>>
>>> I also get these regularly when running load tests using [performance].
>>>
>>> I added some instrumentation to GKOP to dump out
>>> objectDeque.getAllObjects().size() and it is always 0 for the key
>>> when this happens.
>>>
>>> Phil
>
> I now have commons-performance running and can reproduce this. Hopefully
> a fix will be forthcoming shortly. I've looked once and can't see
> anything so as before, any help with this would be appreciated.
And 30s later I find the problem. The code that tracks currently in-use
keys needs a re-write.
Mark
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org
Re: [pool] GKOP test failures
Posted by Mark Thomas <ma...@apache.org>.
On 13/05/2011 07:25, markt@apache.org wrote:
> Phil Steitz <ph...@gmail.com> wrote:
>
>> I saw this
>> Failed tests:
>>
>> testMaxTotalInvariant(org.apache.commons.pool2.impl.TestGenericKeyedObjectPool):
>> Thread failed: 2
>> java.lang.IllegalStateException: Returned object not currently part
>> of this pool
>> at
>> org.apache.commons.pool2.impl.GenericKeyedObjectPool.returnObject(GenericKeyedObjectPool.java:1158)
>> at
>> org.apache.commons.pool2.impl.TestGenericKeyedObjectPool$TestThread.run(TestGenericKeyedObjectPool.java:1582)
>> at java.lang.Thread.run(Thread.java:680)
>>
>> I also get these regularly when running load tests using [performance].
>>
>> I added some instrumentation to GKOP to dump out
>> objectDeque.getAllObjects().size() and it is always 0 for the key
>> when this happens.
>>
>> Phil
I now have commons-performance running and can reproduce this. Hopefully
a fix will be forthcoming shortly. I've looked once and can't see
anything so as before, any help with this would be appreciated.
Mark
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org
Re: [pool] GKOP test failures
Posted by ma...@apache.org.
Phil Steitz <ph...@gmail.com> wrote:
>I saw this
>Failed tests:
>
>testMaxTotalInvariant(org.apache.commons.pool2.impl.TestGenericKeyedObjectPool):
>Thread failed: 2
>java.lang.IllegalStateException: Returned object not currently part
>of this pool
> at
>org.apache.commons.pool2.impl.GenericKeyedObjectPool.returnObject(GenericKeyedObjectPool.java:1158)
> at
>org.apache.commons.pool2.impl.TestGenericKeyedObjectPool$TestThread.run(TestGenericKeyedObjectPool.java:1582)
> at java.lang.Thread.run(Thread.java:680)
>
>I also get these regularly when running load tests using [performance].
>
>I added some instrumentation to GKOP to dump out
>objectDeque.getAllObjects().size() and it is always 0 for the key
>when this happens.
>
>Phil
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>For additional commands, e-mail: dev-help@commons.apache.org
Drat. I saw the same issue and I thought I had fixed it. Obviously not. I'll take a look but for those of you that like concurrency puzzles, some extra eyes on the code would probably help.
Mark
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org