The test is relying on Thread.sleep, which certainly explains the
behavior. A better version would have all in-use threads block on a
countdown latch, until the pool is full, then verify the max is effective.
On 3/5/12 7:28 AM, Carlo de Wolf wrote:
Usually this would only happen on my hardware. :-)
This is a possibility. The test tries to run up 20 threads on a 10 sized
pool. In essence your run never got 10 instances going, but only 9.
What are your hardware specs?
Carlo
On 03/05/2012 02:17 PM, Pavel Janousek wrote:
> Hi,
>
> I've got for the first time (and only one) that testcase
org.jboss.as.ejb3.pool.strictmax.StrictMaxUnitTestCase accidentally failed - see
stacktrace bellow.
>
> Because it is some multithread testcase, it is possible that this accident should be
a race-condition error.
>
> Could someone who is expert of this part of AS7 code review if there isn't really
some issue?
>
> Thanks
>
> Pavel
>
> -------------------------------------------------------------------------------
> Test set: org.jboss.as.ejb3.pool.strictmax.StrictMaxUnitTestCase
> -------------------------------------------------------------------------------
> Tests run: 3, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 3.067 sec<<<
FAILURE!
> testMultiThread(org.jboss.as.ejb3.pool.strictmax.StrictMaxUnitTestCase) Time
elapsed: 2.031 sec<<< FAILURE!
> junit.framework.AssertionFailedError: expected:<10> but was:<9>
> at junit.framework.Assert.fail(Assert.java:50)
> at junit.framework.Assert.failNotEquals(Assert.java:287)
> at junit.framework.Assert.assertEquals(Assert.java:67)
> at junit.framework.Assert.assertEquals(Assert.java:199)
> at junit.framework.Assert.assertEquals(Assert.java:205)
> at
org.jboss.as.ejb3.pool.strictmax.StrictMaxUnitTestCase.testMultiThread(StrictMaxUnitTestCase.java:117)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at junit.framework.TestCase.runTest(TestCase.java:168)
> at junit.framework.TestCase.runBare(TestCase.java:134)
> at junit.framework.TestResult$1.protect(TestResult.java:110)
> at junit.framework.TestResult.runProtected(TestResult.java:128)
> at junit.framework.TestResult.run(TestResult.java:113)
> at junit.framework.TestCase.run(TestCase.java:124)
> at junit.framework.TestSuite.runTest(TestSuite.java:243)
> at junit.framework.TestSuite.run(TestSuite.java:238)
> at
org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
> at
org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
> at
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:123)
> at
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:104)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:164)
> at
org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:110)
> at
org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:175)
> at
org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcessWhenForked(SurefireStarter.java:107)
> at
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:68)
>
>
> --
> Pavel Janousek
> Senior JBoss QA Engineer
>
>
> _______________________________________________
> jboss-as7-dev mailing list
> jboss-as7-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
_______________________________________________
jboss-as7-dev mailing list
jboss-as7-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
--
Jason T. Greene
JBoss AS Lead / EAP Platform Architect
JBoss, a division of Red Hat