[jboss-cvs] JBoss Messaging SVN: r4273 - in trunk: tests/src/org/jboss/messaging/tests/unit/core/journal/impl and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed May 21 13:42:55 EDT 2008
Author: clebert.suconic at jboss.com
Date: 2008-05-21 13:42:55 -0400 (Wed, 21 May 2008)
New Revision: 4273
Modified:
trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestBase.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java
Log:
Fixing journal tests...
(Adds, updates, deletes and close are asynchronous calls. We need to wait them finish before doing assertions)
Modified: trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java 2008-05-21 15:35:56 UTC (rev 4272)
+++ trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java 2008-05-21 17:42:55 UTC (rev 4273)
@@ -1214,17 +1214,21 @@
callback.waitCompletion();
}
- final CountDownLatch latch = new CountDownLatch(1);
-
- this.closingExecutor.execute(new Runnable(){
- public void run()
+ if (!closingExecutor.isShutdown())
+ {
+ // Send something to the closingExecutor, just to make sure we went until its end
+ final CountDownLatch latch = new CountDownLatch(1);
+
+ this.closingExecutor.execute(new Runnable()
{
- latch.countDown();
- }
- });
-
- // just to make sure the closing thread is empty
- latch.await();
+ public void run()
+ {
+ latch.countDown();
+ }
+ });
+
+ latch.await();
+ }
}
// TestableJournal implementation --------------------------------------------------------------
@@ -1321,7 +1325,10 @@
stopReclaimer();
closingExecutor.shutdown();
- closingExecutor.awaitTermination(120, TimeUnit.SECONDS);
+ if (!closingExecutor.awaitTermination(120, TimeUnit.SECONDS))
+ {
+ throw new IllegalStateException("Time out waiting for closing executor to finish");
+ }
if (currentFile != null)
{
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestBase.java 2008-05-21 15:35:56 UTC (rev 4272)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestBase.java 2008-05-21 17:42:55 UTC (rev 4273)
@@ -110,6 +110,12 @@
fileFactory = getFileFactory();
}
+ protected void checkAndReclaimFiles() throws Exception
+ {
+ journal.debugWait();
+ journal.checkAndReclaimFiles();
+ }
+
protected abstract SequentialFileFactory getFileFactory() throws Exception;
// Private ---------------------------------------------------------------------------------
@@ -151,7 +157,7 @@
//We do a reclaim in here
if (reclaim)
{
- journal.checkAndReclaimFiles();
+ checkAndReclaimFiles();
}
journal.stop();
@@ -208,6 +214,8 @@
records.add(new RecordInfo(arguments[i], (byte)0, record, false));
}
+
+ journal.debugWait();
}
protected void update(long... arguments) throws Exception
@@ -220,6 +228,8 @@
records.add(new RecordInfo(arguments[i], (byte)0, updateRecord, true));
}
+
+ journal.debugWait();
}
protected void delete(long... arguments) throws Exception
@@ -230,6 +240,8 @@
removeRecordsForID(arguments[i]);
}
+
+ journal.debugWait();
}
protected void addTx(long txID, long... arguments) throws Exception
@@ -245,7 +257,9 @@
tx.records.add(new RecordInfo(arguments[i], (byte)0, record, false));
- }
+ }
+
+ journal.debugWait();
}
protected void updateTx(long txID, long... arguments) throws Exception
@@ -260,6 +274,7 @@
tx.records.add(new RecordInfo(arguments[i], (byte)0, updateRecord, true));
}
+ journal.debugWait();
}
protected void deleteTx(long txID, long... arguments) throws Exception
@@ -273,6 +288,7 @@
tx.deletes.add(arguments[i]);
}
+ journal.debugWait();
}
protected void prepare(long txID) throws Exception
@@ -292,6 +308,8 @@
journal.appendPrepareRecord(txID);
tx.prepared = true;
+
+ journal.debugWait();
}
protected void commit(long txID) throws Exception
@@ -306,6 +324,8 @@
journal.appendCommitRecord(txID);
this.commitTx(txID);
+
+ journal.debugWait();
}
protected void rollback(long txID) throws Exception
@@ -318,6 +338,8 @@
}
journal.appendRollbackRecord(txID);
+
+ journal.debugWait();
}
private void commitTx(long txID)
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java 2008-05-21 15:35:56 UTC (rev 4272)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java 2008-05-21 17:42:55 UTC (rev 4273)
@@ -599,7 +599,7 @@
assertEquals(0, journal.getFreeFilesCount());
assertEquals(initialNumberOfAddRecords/2 + 10, journal.getIDMapSize());
- journal.checkAndReclaimFiles();
+ checkAndReclaimFiles();
//Several of them should be reclaimed - and others deleted - the total number of files should not drop below
//10
@@ -627,7 +627,7 @@
delete(i);
}
- journal.checkAndReclaimFiles();
+ checkAndReclaimFiles();
assertEquals(0, journal.getDataFilesCount());
assertEquals(9, journal.getFreeFilesCount());
@@ -659,7 +659,7 @@
assertEquals(0, journal.getFreeFilesCount());
assertEquals(0, journal.getIDMapSize());
- journal.checkAndReclaimFiles();
+ checkAndReclaimFiles();
List<String> files2 = fileFactory.listFiles(fileExtension);
@@ -693,7 +693,7 @@
assertEquals(0, journal.getFreeFilesCount());
assertEquals(2, journal.getIDMapSize());
- journal.checkAndReclaimFiles();
+ checkAndReclaimFiles();
List<String> files2 = fileFactory.listFiles(fileExtension);
@@ -739,8 +739,6 @@
addTx(1, i);
}
- journal.debugWait();
-
assertEquals(calculateNumberOfFiles(fileSize , journal.getAlignment(), 100, recordLength), journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(0, journal.getIDMapSize());
@@ -754,7 +752,7 @@
assertTrue(files2.contains(file));
}
- journal.checkAndReclaimFiles();
+ checkAndReclaimFiles();
//Make sure nothing reclaimed
@@ -778,8 +776,6 @@
updateTx(1, i);
}
- journal.debugWait();
-
assertEquals(calculateNumberOfFiles(fileSize , journal.getAlignment(), 200, recordLength), journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(0, journal.getIDMapSize());
@@ -793,7 +789,7 @@
assertTrue(files4.contains(file));
}
- journal.checkAndReclaimFiles();
+ checkAndReclaimFiles();
//Make sure nothing reclaimed
@@ -817,8 +813,6 @@
deleteTx(1, i);
}
- journal.debugWait();
-
assertEquals(calculateNumberOfFiles(fileSize , journal.getAlignment(), 200, recordLength, 200, JournalImpl.SIZE_DELETE_RECORD_TX), journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
@@ -833,7 +827,7 @@
assertTrue(files7.contains(file));
}
- journal.checkAndReclaimFiles();
+ checkAndReclaimFiles();
assertEquals(calculateNumberOfFiles(fileSize , journal.getAlignment(), 200, recordLength, 200, JournalImpl.SIZE_DELETE_RECORD_TX), journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
@@ -893,7 +887,7 @@
assertTrue(files9.contains(file));
}
- journal.checkAndReclaimFiles();
+ checkAndReclaimFiles();
//Most Should now be reclaimed - leaving 10 left in total
@@ -926,8 +920,6 @@
deleteTx(1, 1); // in file 1
- journal.debugWait();
-
List<String> files2 = fileFactory.listFiles(fileExtension);
assertEquals(2, files2.size());
@@ -973,7 +965,7 @@
assertEquals(0, journal.getFreeFilesCount());
assertEquals(2, journal.getIDMapSize());
- journal.checkAndReclaimFiles();
+ checkAndReclaimFiles();
List<String> files6 = fileFactory.listFiles(fileExtension);
@@ -984,8 +976,7 @@
assertEquals(1, journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(2, journal.getIDMapSize());
-
- journal.debugWait();
+
//Now restart
stopJournal();
@@ -1239,8 +1230,6 @@
addTx(1, 1);
- journal.debugWait();
-
List<String> files2 = fileFactory.listFiles(fileExtension);
assertEquals(2, files2.size());
@@ -1273,7 +1262,7 @@
assertEquals(0, journal.getFreeFilesCount());
assertEquals(2, journal.getIDMapSize());
- journal.checkAndReclaimFiles();
+ checkAndReclaimFiles();
//Nothing should be reclaimed
@@ -1362,7 +1351,7 @@
assertEquals(0, journal.getFreeFilesCount());
assertEquals(2, journal.getIDMapSize());
- journal.checkAndReclaimFiles();
+ checkAndReclaimFiles();
List<String> files6 = fileFactory.listFiles(fileExtension);
@@ -1467,7 +1456,7 @@
assertEquals(0, journal.getFreeFilesCount());
assertEquals(1, journal.getIDMapSize());
- journal.checkAndReclaimFiles();
+ checkAndReclaimFiles();
List<String> files6 = fileFactory.listFiles(fileExtension);
@@ -1573,7 +1562,7 @@
assertEquals(0, journal.getFreeFilesCount());
assertEquals(1, journal.getIDMapSize());
- journal.checkAndReclaimFiles();
+ checkAndReclaimFiles();
List<String> files6 = fileFactory.listFiles(fileExtension);
@@ -1679,7 +1668,7 @@
addWithSize(1024 - JournalImpl.SIZE_ADD_RECORD,3); // in file 2
- journal.checkAndReclaimFiles();
+ checkAndReclaimFiles();
List<String> files5 = fileFactory.listFiles(fileExtension);
@@ -1689,7 +1678,7 @@
assertEquals(0, journal.getFreeFilesCount());
assertEquals(1, journal.getIDMapSize());
- journal.checkAndReclaimFiles();
+ checkAndReclaimFiles();
List<String> files6 = fileFactory.listFiles(fileExtension);
@@ -1729,7 +1718,7 @@
assertEquals(0, journal.getFreeFilesCount());
assertEquals(2, journal.getIDMapSize());
- journal.checkAndReclaimFiles();
+ checkAndReclaimFiles();
List<String> files10 = fileFactory.listFiles(fileExtension);
@@ -1749,7 +1738,7 @@
assertEquals(0, journal.getFreeFilesCount());
assertEquals(3, journal.getIDMapSize());
- journal.checkAndReclaimFiles();
+ checkAndReclaimFiles();
List<String> files12 = fileFactory.listFiles(fileExtension);
@@ -1791,7 +1780,7 @@
assertEquals(0, journal.getFreeFilesCount());
assertEquals(3, journal.getIDMapSize());
- journal.checkAndReclaimFiles();
+ checkAndReclaimFiles();
//file 3 should now be deleted
More information about the jboss-cvs-commits
mailing list