You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by km...@apache.org on 2010/06/21 20:10:39 UTC
svn commit: r956659 -
/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/BootLockTest.java
Author: kmarsden
Date: Mon Jun 21 18:10:39 2010
New Revision: 956659
URL: http://svn.apache.org/viewvc?rev=956659&view=rev
Log:
DERBY-4667 BootLockTest.testBootLock() sometimes fails with connection refused.
Change test to check service.properties in additon to db.lck file so that it won't fail with a directory already exists message.
Modified:
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/BootLockTest.java
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/BootLockTest.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/BootLockTest.java?rev=956659&r1=956658&r2=956659&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/BootLockTest.java (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/BootLockTest.java Mon Jun 21 18:10:39 2010
@@ -62,6 +62,7 @@ public class BootLockTest extends BaseJD
DataFactory.DB_LOCKFILE_NAME;
private final static String dbExLockFile = dbDir + File.separator +
DataFactory.DB_EX_LOCKFILE_NAME;
+ private final static String servicePropertiesFileName = dbDir + File.separator + "service.properties";
private static String[] cmd = new String[]{
"org.apache.derbyTesting.functionTests.tests.store.BootLockMinion",
@@ -174,23 +175,27 @@ public class BootLockTest extends BaseJD
StringBuffer failmsg = new StringBuffer();
// boolean set to true once we find the lock file
File lockFile = new File(dbLockFile);
+ File servicePropertiesFile = new File(servicePropertiesFileName);
// Attempt to catch any errors happening in minion for better test
// diagnosis.
BufferedReader minionSysErr = new BufferedReader(
new InputStreamReader(p.getErrorStream()));
String minionErrLine= null ;
do {
- if (lockFile.exists()) {
- // if the lock file is there the database has booted, return
- Thread.sleep(10000);
- return;
+ if (lockFile.exists() && servicePropertiesFile.exists()) {
+ // if the lock file is there and service.properties,
+ // the database has booted, return. If we don't check for
+ // service.properties, we may get just an error that the
+ // directory already exists. We'll give a few seconds too
+ // for service.properties to finish writing.
+ Thread.sleep(3000);
+ return;
}
// otherwise sleep for a second and try again
waitmillis -= 1000;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
- // TODO Auto-generated catch block
fail(e.getMessage());
}
} while (waitmillis > 0);