Return-Path: Delivered-To: apmail-openjpa-commits-archive@www.apache.org Received: (qmail 67005 invoked from network); 2 Nov 2010 21:03:07 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 2 Nov 2010 21:03:07 -0000 Received: (qmail 30570 invoked by uid 500); 2 Nov 2010 21:03:39 -0000 Delivered-To: apmail-openjpa-commits-archive@openjpa.apache.org Received: (qmail 30514 invoked by uid 500); 2 Nov 2010 21:03:38 -0000 Mailing-List: contact commits-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openjpa.apache.org Delivered-To: mailing list commits@openjpa.apache.org Received: (qmail 30506 invoked by uid 99); 2 Nov 2010 21:03:38 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Nov 2010 21:03:38 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Nov 2010 21:03:36 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 2DFE823889ED; Tue, 2 Nov 2010 21:02:22 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1030215 - /openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheTest.java Date: Tue, 02 Nov 2010 21:02:22 -0000 To: commits@openjpa.apache.org From: dwoods@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20101102210222.2DFE823889ED@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: dwoods Date: Tue Nov 2 21:02:21 2010 New Revision: 1030215 URL: http://svn.apache.org/viewvc?rev=1030215&view=rev Log: one more attempt to fix these failing testTimeouts1 failures on some machines Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheTest.java Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheTest.java URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheTest.java?rev=1030215&r1=1030214&r2=1030215&view=diff ============================================================================== --- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheTest.java (original) +++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheTest.java Tue Nov 2 21:02:21 2010 @@ -1006,6 +1006,9 @@ public abstract class CacheTest extends endTx(em); + // get post-persist time for sleep calculations below + Date persistTime = new Date(); + Object[] ids = new Object[4]; ids[0] = new Id(CacheObjectE.class, em.getObjectId(e).toString()); ids[1] = new Id(CacheObjectF.class, em.getObjectId(f).toString()); @@ -1042,26 +1045,34 @@ public abstract class CacheTest extends checkCache(cache, ids, new boolean[]{ true, true, true, true }); } else { // need to skip the test on slow systems or when using remote DB connections - getLog().warn("CacheTest.timeoutsHelper() skipping checkCache(all, <500) because diff="+diff); + getLog().warn("CacheTest.timeoutsHelper() skipping checkCache(all, <500) because initial diff="+diff); } // should cause h to be dropped (timeout=500) currentTime = new Date(); diff = (currentTime.getTime() - startTime.getTime()); sleep = 750 - diff; - if (sleep > 0) { + if (sleep < (-150)) { + // we already missed the window + getLog().warn("CacheTest.timeoutsHelper() skipping checkCache(h=500) because sleep="+sleep); + } else if (sleep > 10) { getLog().info("CacheTest.timeoutsHelper() testing h to be dropped by waiting sleep="+sleep); Thread.currentThread().sleep(sleep); Thread.yield(); } else { sleep = 0; } - if ((diff + sleep) < 950) { + + // recalc diff again + currentTime = new Date(); + diff = (currentTime.getTime() - startTime.getTime()); + if (sleep >= 0 && diff > 500 && diff < 950) { // only h should be dropped checkCache(cache, ids, new boolean[]{ true, true, true, false }); } else { // need to skip the test on slow systems or when using remote DB connections - getLog().warn("CacheTest.timeoutsHelper() skipping checkCache(h=500) because diff="+(diff+sleep)); + getLog().warn("CacheTest.timeoutsHelper() skipping checkCache(h=500) because sleep="+sleep+ + " and final diff="+diff); } // if this run has a default timeout (set to 1 sec in the test @@ -1075,7 +1086,7 @@ public abstract class CacheTest extends currentTime = new Date(); diff = currentTime.getTime() - startTime.getTime(); sleep = 2000 - diff; - if (sleep > 0) { + if (sleep > 10) { getLog().info("CacheTest.timeoutsHelper() testing f to be dropped by waiting sleep="+sleep); Thread.currentThread().sleep(sleep); Thread.yield(); @@ -1100,7 +1111,7 @@ public abstract class CacheTest extends currentTime = new Date(); diff = currentTime.getTime() - startTime.getTime(); sleep = 6000 - diff; - if (sleep > 0) { + if (sleep > 10) { getLog().info("CacheTest.timeoutsHelper() testing g to be dropped by waiting sleep="+sleep); Thread.currentThread().sleep(sleep); Thread.yield();