commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Phil Steitz <phil.ste...@gmail.com>
Subject Re: svn commit: r897678 - in /commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp: TestConnectionPool.java datasources/TestPerUserPoolDataSource.java datasources/TestSharedPoolDataSource.java
Date Sun, 10 Jan 2010 21:36:28 GMT
sebb wrote:
> Thanks.
> 
> Looks like I did not complete the fixes properly when I added the
> loopOnce parameter to PoolTest.
> 
> It was quite tricky following the Continuum build output, as the date
> was 2 days behind, and the mail for the failed runs is not always
> accurate - if the "Exit code" is 127, then most of the email contents
> is inaccurate.
> 
> I have raised http://jira.codehaus.org/browse/CONTINUUM-2428 for the
> misleading info.

This could be complicated by my attempts at implementing the Ant
Java 5 build snd also the combination of forced and scheduled builds.

Phil

> 
> On 10/01/2010, Phil Steitz <phil.steitz@gmail.com> wrote:
>> From the debugging added to some previously failed builds, I saw
>>  loop = 2 for some threads.  Threads should not be looping.  Second
>>  loop by a thread that succeeded the first time that throws will not
>>  change success state - so it looks like a success -> not enough
>>  failures.
>>
>>  Phil
>>
>>
>>  psteitz@apache.org wrote:
>>  > Author: psteitz
>>  > Date: Sun Jan 10 18:21:03 2010
>>  > New Revision: 897678
>>  >
>>  > URL: http://svn.apache.org/viewvc?rev=897678&view=rev
>>  > Log:
>>  > Eliminated unintended looping in mutipleThreads test.
>>  >
>>  > Modified:
>>  >     commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TestConnectionPool.java
>>  >     commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/datasources/TestPerUserPoolDataSource.java
>>  >     commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/datasources/TestSharedPoolDataSource.java
>>  >
>>  > Modified: commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TestConnectionPool.java
>>  > URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TestConnectionPool.java?rev=897678&r1=897677&r2=897678&view=diff
>>  > ==============================================================================
>>  > --- commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TestConnectionPool.java
(original)
>>  > +++ commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TestConnectionPool.java
Sun Jan 10 18:21:03 2010
>>  > @@ -683,7 +683,21 @@
>>  >          }
>>  >      }
>>  >
>>  > -    protected void multipleThreads(final int holdTime, final boolean expectError,
long maxWait)
>>  > +    /**
>>  > +     * Launches a group of 2 * getMaxActive() threads, each of which will
attempt to obtain a connection
>>  > +     * from the pool, hold it for <holdTime> ms, and then return it
to the pool.  If <loopOnce> is false,
>>  > +     * threads will continue this process indefinitely.  If <expectingError>
is true, exactly 1/2 of the
>>  > +     * threads are expected to either throw exceptions or fail to complete.
If <expectingError> is false,
>>  > +     * all threads are expected to complete successfully.
>>  > +     *
>>  > +     * @param holdTime time in ms that a thread holds a connection before
returning it to the pool
>>  > +     * @param expectError whether or not an error is expected
>>  > +     * @param loopOnce whether threads should complete the borrow - hold -
return cycle only once, or loop indefinitely
>>  > +     * @param maxWait passed in by client - has no impact on the test itself,
but does get reported
>>  > +     *
>>  > +     * @throws Exception
>>  > +     */
>>  > +    protected void multipleThreads(final int holdTime, final boolean expectError,
final boolean loopOnce, final long maxWait)
>>  >              throws Exception {
>>  >                  long startTime = timeStamp();
>>  >                  final PoolTest[] pts = new PoolTest[2 * getMaxActive()];
>>  > @@ -696,8 +710,7 @@
>>  >                      }
>>  >                  };
>>  >                  for (int i = 0; i < pts.length; i++) {
>>  > -                    // If we are expecting an error, don't allow successful
threads to loop
>>  > -                    (pts[i] = new PoolTest(threadGroup, holdTime, expectError)).start();
>>  > +                    (pts[i] = new PoolTest(threadGroup, holdTime, expectError,
loopOnce)).start();
>>  >                  }
>>  >
>>  >                  Thread.sleep(100L); // Wait for long enough to allow threads
to start
>>  >
>>  > Modified: commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/datasources/TestPerUserPoolDataSource.java
>>  > URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/datasources/TestPerUserPoolDataSource.java?rev=897678&r1=897677&r2=897678&view=diff
>>  > ==============================================================================
>>  > --- commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/datasources/TestPerUserPoolDataSource.java
(original)
>>  > +++ commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/datasources/TestPerUserPoolDataSource.java
Sun Jan 10 18:21:03 2010
>>  > @@ -378,11 +378,11 @@
>>  >          final int defaultMaxWait = 430;
>>  >          ((PerUserPoolDataSource) ds).setDefaultMaxWait(defaultMaxWait);
>>  >          ((PerUserPoolDataSource) ds).setPerUserMaxWait("foo",new Integer(defaultMaxWait));
>>  > -        multipleThreads(1, false, defaultMaxWait);
>>  > +        multipleThreads(1, false, false, defaultMaxWait);
>>  >      }
>>  >
>>  >      public void testMultipleThreads2() throws Exception {
>>  > -        multipleThreads(2 * (int)(getMaxWait()), true, getMaxWait());
>>  > +        multipleThreads(2 * (int)(getMaxWait()), true, false, getMaxWait());
>>  >      }
>>  >
>>  >      public void testTransactionIsolationBehavior() throws Exception {
>>  >
>>  > Modified: commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/datasources/TestSharedPoolDataSource.java
>>  > URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/datasources/TestSharedPoolDataSource.java?rev=897678&r1=897677&r2=897678&view=diff
>>  > ==============================================================================
>>  > --- commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/datasources/TestSharedPoolDataSource.java
(original)
>>  > +++ commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/datasources/TestSharedPoolDataSource.java
Sun Jan 10 18:21:03 2010
>>  > @@ -368,11 +368,11 @@
>>  >          // some JVMs, e.g. Windows.
>>  >          final int defaultMaxWait = 430;
>>  >          ((SharedPoolDataSource) ds).setMaxWait(defaultMaxWait);
>>  > -        multipleThreads(1, false, defaultMaxWait);
>>  > +        multipleThreads(1, false, false, defaultMaxWait);
>>  >      }
>>  >
>>  >      public void testMultipleThreads2() throws Exception {
>>  > -        multipleThreads(2 * (int)(getMaxWait()), true, getMaxWait());
>>  > +        multipleThreads(2 * (int)(getMaxWait()), true, false, getMaxWait());
>>  >      }
>>  >
>>  >      public void testTransactionIsolationBehavior() throws Exception {
>>  >
>>  >
>>
>>
>>
>> ---------------------------------------------------------------------
>>  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
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message