[jboss-cvs] JBoss Messaging SVN: r4101 - in branches/trunk_tmp_aio: tests/src/org/jboss/messaging/core/journal/impl/test/unit and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Apr 22 19:29:00 EDT 2008
Author: clebert.suconic at jboss.com
Date: 2008-04-22 19:28:59 -0400 (Tue, 22 Apr 2008)
New Revision: 4101
Modified:
branches/trunk_tmp_aio/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java
branches/trunk_tmp_aio/tests/src/org/jboss/messaging/core/journal/impl/test/unit/JournalImplTestBase.java
branches/trunk_tmp_aio/tests/src/org/jboss/messaging/core/journal/impl/test/unit/JournalImplTestUnit.java
Log:
Refactoring on aio test
Modified: branches/trunk_tmp_aio/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java
===================================================================
--- branches/trunk_tmp_aio/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java 2008-04-22 20:38:41 UTC (rev 4100)
+++ branches/trunk_tmp_aio/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java 2008-04-22 23:28:59 UTC (rev 4101)
@@ -98,16 +98,25 @@
public static final int SIZE_ADD_RECORD_TX = SIZE_BYTE + SIZE_LONG + SIZE_LONG + SIZE_INT + SIZE_BYTE; // Add the size of Bytes on this
+ public static final int SIZE_UPDATE_RECORD_TX = SIZE_BYTE + SIZE_LONG + SIZE_LONG + SIZE_INT + SIZE_BYTE; // Add the size of Bytes on this
+
public static final byte UPDATE_RECORD_TX = 15;
- public static final int SIZE_UPDATE_RECORD_TX = SIZE_BYTE + SIZE_LONG + SIZE_LONG + SIZE_INT + SIZE_BYTE; // Add the size of Bytes on this
+ public static final int SIZE_DELETE_RECORD_TX = SIZE_BYTE + SIZE_LONG + SIZE_LONG + SIZE_BYTE;
public static final byte DELETE_RECORD_TX = 16;
+ public static final int SIZE_PREPARE_RECORD = SIZE_BYTE + SIZE_LONG + SIZE_BYTE;
+
public static final byte PREPARE_RECORD = 17;
-
+
+
+ public static final byte SIZE_COMMIT_RECORD = SIZE_BYTE + SIZE_LONG + SIZE_BYTE;
+
public static final byte COMMIT_RECORD = 18;
+ public static final byte SIZE_ROLLBACK_RECORD = SIZE_BYTE + SIZE_LONG + SIZE_BYTE;
+
public static final byte ROLLBACK_RECORD = 19;
public static final byte DONE = 20;
@@ -383,7 +392,7 @@
throw new IllegalStateException("Journal must be loaded first");
}
- int size = SIZE_BYTE + SIZE_LONG + SIZE_LONG + SIZE_BYTE;
+ int size = SIZE_DELETE_RECORD_TX;
ByteBuffer bb = currentFile.getFile().newBuffer(size);
@@ -414,7 +423,7 @@
throw new IllegalStateException("Cannot find tx with id " + txID);
}
- int size = SIZE_BYTE + SIZE_LONG + SIZE_BYTE;
+ int size = SIZE_PREPARE_RECORD;
ByteBuffer bb = currentFile.getFile().newBuffer(size);
@@ -442,7 +451,7 @@
throw new IllegalStateException("Cannot find tx with id " + txID);
}
- int size = SIZE_BYTE + SIZE_LONG + SIZE_BYTE;
+ int size = SIZE_COMMIT_RECORD;
ByteBuffer bb = currentFile.getFile().newBuffer(size);
@@ -470,7 +479,7 @@
throw new IllegalStateException("Cannot find tx with id " + txID);
}
- int size = SIZE_BYTE + SIZE_LONG + SIZE_BYTE;
+ int size = SIZE_ROLLBACK_RECORD;
ByteBuffer bb = currentFile.getFile().newBuffer(size);
Modified: branches/trunk_tmp_aio/tests/src/org/jboss/messaging/core/journal/impl/test/unit/JournalImplTestBase.java
===================================================================
--- branches/trunk_tmp_aio/tests/src/org/jboss/messaging/core/journal/impl/test/unit/JournalImplTestBase.java 2008-04-22 20:38:41 UTC (rev 4100)
+++ branches/trunk_tmp_aio/tests/src/org/jboss/messaging/core/journal/impl/test/unit/JournalImplTestBase.java 2008-04-22 23:28:59 UTC (rev 4101)
@@ -171,18 +171,23 @@
journal.load(null, null);
}
- protected void add(long... arguments) throws Exception
- {
- for (int i = 0; i < arguments.length; i++)
- {
- byte[] record = generateRecord(recordLength);
-
- journal.appendAddRecord(arguments[i], record);
-
- records.add(new RecordInfo(arguments[i], record, false));
- }
- }
-
+ protected void add(long... arguments) throws Exception
+ {
+ addWithSize(recordLength, arguments);
+ }
+
+ protected void addWithSize(int size, long... arguments) throws Exception
+ {
+ for (int i = 0; i < arguments.length; i++)
+ {
+ byte[] record = generateRecord(size);
+
+ journal.appendAddRecord(arguments[i], record);
+
+ records.add(new RecordInfo(arguments[i], record, false));
+ }
+ }
+
protected void update(long... arguments) throws Exception
{
for (int i = 0; i < arguments.length; i++)
Modified: branches/trunk_tmp_aio/tests/src/org/jboss/messaging/core/journal/impl/test/unit/JournalImplTestUnit.java
===================================================================
--- branches/trunk_tmp_aio/tests/src/org/jboss/messaging/core/journal/impl/test/unit/JournalImplTestUnit.java 2008-04-22 20:38:41 UTC (rev 4100)
+++ branches/trunk_tmp_aio/tests/src/org/jboss/messaging/core/journal/impl/test/unit/JournalImplTestUnit.java 2008-04-22 23:28:59 UTC (rev 4101)
@@ -731,13 +731,13 @@
addTx(1, i);
}
- assertEquals(11, journal.getDataFilesCount());
+ assertEquals(calculateNumberOfFiles(fileSize , journal.getAlignment(), 100, recordLength), journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(0, journal.getIDMapSize());
List<String> files2 = fileFactory.listFiles(fileExtension);
- assertEquals(12, files2.size());
+ assertEquals(calculateNumberOfFiles(fileSize , journal.getAlignment(), 100, recordLength) + 1, files2.size());
for (String file: files1)
{
@@ -748,13 +748,13 @@
//Make sure nothing reclaimed
- assertEquals(11, journal.getDataFilesCount());
+ assertEquals(calculateNumberOfFiles(fileSize , journal.getAlignment(), 100, recordLength), journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(0, journal.getIDMapSize());
List<String> files3 = fileFactory.listFiles(fileExtension);
- assertEquals(12, files3.size());
+ assertEquals(calculateNumberOfFiles(fileSize , journal.getAlignment(), 100, recordLength) + 1, files3.size());
for (String file: files1)
{
@@ -768,13 +768,13 @@
updateTx(1, i);
}
- assertEquals(22, journal.getDataFilesCount());
+ assertEquals(calculateNumberOfFiles(fileSize , journal.getAlignment(), 200, recordLength), journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(0, journal.getIDMapSize());
List<String> files4 = fileFactory.listFiles(fileExtension);
- assertEquals(23, files4.size());
+ assertEquals(calculateNumberOfFiles(fileSize , journal.getAlignment(), 200, recordLength) + 1, files4.size());
for (String file: files1)
{
@@ -785,7 +785,7 @@
//Make sure nothing reclaimed
- assertEquals(22, journal.getDataFilesCount());
+ assertEquals(calculateNumberOfFiles(fileSize , journal.getAlignment(), 200, recordLength) , journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(0, journal.getIDMapSize());
@@ -805,13 +805,16 @@
deleteTx(1, i);
}
- assertEquals(22, journal.getDataFilesCount());
+
+ assertEquals(calculateNumberOfFiles(fileSize , journal.getAlignment(), 200, recordLength, 200, JournalImpl.SIZE_DELETE_RECORD_TX), journal.getDataFilesCount());
+ System.out.println("Size - " + journal.getDataFilesCount());
+
assertEquals(0, journal.getFreeFilesCount());
assertEquals(0, journal.getIDMapSize());
List<String> files7 = fileFactory.listFiles(fileExtension);
- assertEquals(23, files7.size());
+ assertEquals(calculateNumberOfFiles(fileSize , journal.getAlignment(), 200, recordLength, 200, JournalImpl.SIZE_DELETE_RECORD_TX) + 1, files7.size());
for (String file: files1)
{
@@ -820,13 +823,13 @@
journal.checkAndReclaimFiles();
- assertEquals(22, journal.getDataFilesCount());
+ assertEquals(calculateNumberOfFiles(fileSize , journal.getAlignment(), 200, recordLength, 200, JournalImpl.SIZE_DELETE_RECORD_TX), journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(0, journal.getIDMapSize());
List<String> files8 = fileFactory.listFiles(fileExtension);
- assertEquals(23, files8.size());
+ assertEquals(calculateNumberOfFiles(fileSize , journal.getAlignment(), 200, recordLength, 200, JournalImpl.SIZE_DELETE_RECORD_TX) + 1, files8.size());
for (String file: files1)
{
@@ -844,20 +847,34 @@
rollback(1);
}
- //Add more records to make sure we get to the next file
+ // If this change, we need to consider commit or rollback size on the test
+ assertEquals(JournalImpl.SIZE_ROLLBACK_RECORD, JournalImpl.SIZE_COMMIT_RECORD);
+ assertEquals(calculateNumberOfFiles(fileSize , journal.getAlignment(), 200, recordLength, 200, JournalImpl.SIZE_DELETE_RECORD_TX, 1, JournalImpl.SIZE_COMMIT_RECORD), journal.getDataFilesCount());
+
+ //Add more records to make sure we get to the next file
for (int i = 200; i < 210; i++)
{
add(i);
}
- assertEquals(23, journal.getDataFilesCount());
+
+
+ assertEquals(calculateNumberOfFiles(fileSize , journal.getAlignment(),
+ 200, recordLength,
+ 200, JournalImpl.SIZE_DELETE_RECORD_TX,
+ 1, JournalImpl.SIZE_COMMIT_RECORD,
+ 10, JournalImpl.SIZE_ADD_RECORD + recordLength), journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(10, journal.getIDMapSize());
List<String> files9 = fileFactory.listFiles(fileExtension);
- assertEquals(24, files9.size());
+ assertEquals(calculateNumberOfFiles(fileSize , journal.getAlignment(),
+ 200, recordLength,
+ 200, JournalImpl.SIZE_DELETE_RECORD_TX,
+ 1, JournalImpl.SIZE_COMMIT_RECORD,
+ 10, JournalImpl.SIZE_ADD_RECORD + recordLength) + 1, files9.size());
for (String file: files1)
{
@@ -868,8 +885,8 @@
//Most Should now be reclaimed - leaving 10 left in total
- assertEquals(1, journal.getDataFilesCount());
- assertEquals(8, journal.getFreeFilesCount());
+ assertEquals(journal.getAlignment()==1?1:2, journal.getDataFilesCount());
+ assertEquals(journal.getAlignment()==1?8:7, journal.getFreeFilesCount());
assertEquals(10, journal.getIDMapSize());
List<String> files10 = fileFactory.listFiles(fileExtension);
@@ -879,7 +896,8 @@
public void testReclaimTransactionalSimple() throws Exception
{
- setup(2, 1054, true);
+ setup(2, calculateRecordSize(JournalImpl.SIZE_HEADER, getAlignment()) +
+ calculateRecordSize(recordLength, getAlignment()), true);
createJournal();
startJournal();
load();
@@ -899,14 +917,14 @@
List<String> files2 = fileFactory.listFiles(fileExtension);
assertEquals(2, files2.size());
-
+
assertEquals(1, journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(0, journal.getIDMapSize());
//Make sure we move on to the next file
- add(2); // in file 2
+ addWithSize(recordLength - JournalImpl.SIZE_ADD_RECORD, 2); // in file 2
List<String> files3 = fileFactory.listFiles(fileExtension);
@@ -928,7 +946,7 @@
//Make sure we move on to the next file
- add(3); // in file 4
+ addWithSize(recordLength - JournalImpl.SIZE_ADD_RECORD, 3); // in file 4
List<String> files5 = fileFactory.listFiles(fileExtension);
@@ -1188,7 +1206,7 @@
public void testCommitRecordsInFileReclaim() throws Exception
{
- setup(2, 1054, true);
+ setup(2, calculateRecordSize(JournalImpl.SIZE_HEADER, getAlignment()) + calculateRecordSize(recordLength, getAlignment()), true);
createJournal();
startJournal();
load();
@@ -1223,7 +1241,7 @@
assertEquals(0, journal.getFreeFilesCount());
assertEquals(1, journal.getIDMapSize());
- add(2);
+ addWithSize(recordLength - JournalImpl.SIZE_ADD_RECORD, 2);
//Move on to another file
@@ -1255,7 +1273,7 @@
public void testCommitRecordsInFileNoReclaim() throws Exception
{
- setup(2, 1300, true);
+ setup(2, calculateRecordSize(JournalImpl.SIZE_HEADER, getAlignment()) + calculateRecordSize(recordLength, getAlignment()) + 512, true);
createJournal();
startJournal();
load();
@@ -1272,13 +1290,13 @@
//Make sure we move on to the next file
- add(2); // in file 1
+ addWithSize(recordLength - JournalImpl.SIZE_ADD_RECORD, 2); // in file 1
List<String> files2 = fileFactory.listFiles(fileExtension);
assertEquals(2, files2.size());
- assertEquals(1, journal.getDataFilesCount());
+ assertEquals(calculateNumberOfFiles(fileSize, journal.getAlignment(), 2, recordLength), journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(1, journal.getIDMapSize());
@@ -1286,9 +1304,13 @@
List<String> files3 = fileFactory.listFiles(fileExtension);
- assertEquals(2, files3.size());
+ assertEquals(calculateNumberOfFiles(fileSize, journal.getAlignment(),
+ 2, recordLength,
+ 1, JournalImpl.SIZE_COMMIT_RECORD) +1, files3.size());
- assertEquals(1, journal.getDataFilesCount());
+ assertEquals(calculateNumberOfFiles(fileSize, journal.getAlignment(),
+ 2, recordLength,
+ 1, JournalImpl.SIZE_COMMIT_RECORD), journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(2, journal.getIDMapSize());
@@ -1296,15 +1318,21 @@
List<String> files4 = fileFactory.listFiles(fileExtension);
- assertEquals(2, files4.size());
+ assertEquals(calculateNumberOfFiles(fileSize, journal.getAlignment(),
+ 2, recordLength,
+ 1, JournalImpl.SIZE_COMMIT_RECORD,
+ 1, JournalImpl.SIZE_DELETE_RECORD)+1, files4.size());
- assertEquals(1, journal.getDataFilesCount());
+ assertEquals(calculateNumberOfFiles(fileSize, journal.getAlignment(),
+ 2, recordLength,
+ 1, JournalImpl.SIZE_COMMIT_RECORD,
+ 1, JournalImpl.SIZE_DELETE_RECORD), journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(1, journal.getIDMapSize());
//Move on to another file
- add(3); // in file 2
+ addWithSize(recordLength - JournalImpl.SIZE_ADD_RECORD, 3); // in file 2
List<String> files5 = fileFactory.listFiles(fileExtension);
@@ -1342,7 +1370,7 @@
public void testRollbackRecordsInFileNoReclaim() throws Exception
{
- setup(2, 1300, true);
+ setup(2, calculateRecordSize(JournalImpl.SIZE_HEADER, getAlignment()) + calculateRecordSize(recordLength, getAlignment()) + 512, true);
createJournal();
startJournal();
load();
@@ -1359,7 +1387,7 @@
//Make sure we move on to the next file
- add(2); // in file 1
+ addWithSize(recordLength - JournalImpl.SIZE_ADD_RECORD ,2); // in file 1
List<String> files2 = fileFactory.listFiles(fileExtension);
@@ -1373,9 +1401,13 @@
List<String> files3 = fileFactory.listFiles(fileExtension);
- assertEquals(2, files3.size());
+ assertEquals(calculateNumberOfFiles(fileSize, journal.getAlignment(),
+ 2, recordLength,
+ 1, JournalImpl.SIZE_ROLLBACK_RECORD) +1, files3.size());
- assertEquals(1, journal.getDataFilesCount());
+ assertEquals(calculateNumberOfFiles(fileSize, journal.getAlignment(),
+ 2, recordLength,
+ 1, JournalImpl.SIZE_ROLLBACK_RECORD), journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(1, journal.getIDMapSize());
@@ -1383,21 +1415,35 @@
List<String> files4 = fileFactory.listFiles(fileExtension);
- assertEquals(2, files4.size());
+ assertEquals(calculateNumberOfFiles(fileSize, journal.getAlignment(),
+ 2, recordLength,
+ 1, JournalImpl.SIZE_ROLLBACK_RECORD,
+ 1, JournalImpl.SIZE_DELETE_RECORD)+1, files4.size());
- assertEquals(1, journal.getDataFilesCount());
+ assertEquals(calculateNumberOfFiles(fileSize, journal.getAlignment(),
+ 2, recordLength,
+ 1, JournalImpl.SIZE_ROLLBACK_RECORD,
+ 1, JournalImpl.SIZE_DELETE_RECORD), journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(0, journal.getIDMapSize());
//Move on to another file
- add(3); // in file 2 (current file)
+ addWithSize(recordLength - JournalImpl.SIZE_ADD_RECORD,3); // in file 2 (current file)
List<String> files5 = fileFactory.listFiles(fileExtension);
- assertEquals(3, files5.size());
+ assertEquals(calculateNumberOfFiles(fileSize, journal.getAlignment(),
+ 2, recordLength,
+ 1, JournalImpl.SIZE_ROLLBACK_RECORD,
+ 1, JournalImpl.SIZE_DELETE_RECORD,
+ 1, recordLength)+1, files5.size());
- assertEquals(2, journal.getDataFilesCount());
+ assertEquals(calculateNumberOfFiles(fileSize, journal.getAlignment(),
+ 2, recordLength,
+ 1, JournalImpl.SIZE_ROLLBACK_RECORD,
+ 1, JournalImpl.SIZE_DELETE_RECORD,
+ 1, recordLength), journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(1, journal.getIDMapSize());
@@ -1431,7 +1477,7 @@
public void testPrepareNoReclaim() throws Exception
{
- setup(2, 1300, true);
+ setup(2, calculateRecordSize(JournalImpl.SIZE_HEADER, getAlignment()) + calculateRecordSize(recordLength, getAlignment()) + 512, true);
createJournal();
startJournal();
load();
@@ -1448,15 +1494,15 @@
//Make sure we move on to the next file
- add(2); // in file 1
+ addWithSize(1024 - JournalImpl.SIZE_ADD_RECORD,2); // in file 1
List<String> files2 = fileFactory.listFiles(fileExtension);
assertEquals(2, files2.size());
- assertEquals(1, journal.getDataFilesCount());
- assertEquals(0, journal.getFreeFilesCount());
- assertEquals(1, journal.getIDMapSize());
+ assertEquals(calculateNumberOfFiles(fileSize, journal.getAlignment(), 2, recordLength), journal.getDataFilesCount());
+ assertEquals(0, journal.getFreeFilesCount());
+ assertEquals(1, journal.getIDMapSize());
prepare(1); // in file 1
@@ -1464,7 +1510,9 @@
assertEquals(2, files3.size());
- assertEquals(1, journal.getDataFilesCount());
+ assertEquals(calculateNumberOfFiles(fileSize, journal.getAlignment(),
+ 2, recordLength,
+ 1, JournalImpl.SIZE_PREPARE_RECORD), journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(1, journal.getIDMapSize());
@@ -1472,21 +1520,36 @@
List<String> files4 = fileFactory.listFiles(fileExtension);
- assertEquals(2, files4.size());
+ assertEquals(calculateNumberOfFiles(fileSize, journal.getAlignment(),
+ 2, recordLength,
+ 1, JournalImpl.SIZE_PREPARE_RECORD,
+ 1, JournalImpl.SIZE_DELETE_RECORD) + 1, files4.size());
- assertEquals(1, journal.getDataFilesCount());
+ assertEquals(calculateNumberOfFiles(fileSize, journal.getAlignment(),
+ 2, recordLength,
+ 1, JournalImpl.SIZE_PREPARE_RECORD,
+ 1, JournalImpl.SIZE_DELETE_RECORD), journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(0, journal.getIDMapSize());
//Move on to another file
- add(3); // in file 2
+ addWithSize(recordLength - JournalImpl.SIZE_ADD_RECORD, 3); // in file 2
List<String> files5 = fileFactory.listFiles(fileExtension);
- assertEquals(3, files5.size());
+ assertEquals(calculateNumberOfFiles(fileSize, journal.getAlignment(),
+ 2, recordLength,
+ 1, JournalImpl.SIZE_PREPARE_RECORD,
+ 1, JournalImpl.SIZE_DELETE_RECORD,
+ 1, recordLength) + 1, files5.size());
- assertEquals(2, journal.getDataFilesCount());
+ assertEquals(calculateNumberOfFiles(fileSize, journal.getAlignment(),
+ 2, recordLength,
+ 1, JournalImpl.SIZE_PREPARE_RECORD,
+ 1, JournalImpl.SIZE_DELETE_RECORD,
+ 1, recordLength), journal.getDataFilesCount());
+
assertEquals(0, journal.getFreeFilesCount());
assertEquals(1, journal.getIDMapSize());
@@ -1500,7 +1563,7 @@
assertEquals(0, journal.getFreeFilesCount());
assertEquals(1, journal.getIDMapSize());
- add(4); // in file 3
+ addWithSize(recordLength - JournalImpl.SIZE_ADD_RECORD, 4); // in file 3
List<String> files7 = fileFactory.listFiles(fileExtension);
@@ -1531,7 +1594,7 @@
public void testPrepareReclaim() throws Exception
{
- setup(2, 1300, true);
+ setup(2, calculateRecordSize(JournalImpl.SIZE_HEADER, getAlignment()) + calculateRecordSize(recordLength, getAlignment()) + 512, true);
createJournal();
startJournal();
load();
@@ -1556,13 +1619,13 @@
//Make sure we move on to the next file
- add(2); // in file 1
+ addWithSize(recordLength - JournalImpl.SIZE_ADD_RECORD, 2); // in file 1
List<String> files2 = fileFactory.listFiles(fileExtension);
- assertEquals(2, files2.size());
+ assertEquals(calculateNumberOfFiles(fileSize, journal.getAlignment(), 2, recordLength) , journal.getDataFilesCount());
- assertEquals(1, journal.getDataFilesCount());
+ assertEquals(calculateNumberOfFiles(fileSize, journal.getAlignment(), 2, recordLength), journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(1, journal.getIDMapSize());
@@ -1580,15 +1643,21 @@
List<String> files4 = fileFactory.listFiles(fileExtension);
- assertEquals(2, files4.size());
+ assertEquals(calculateNumberOfFiles(fileSize, journal.getAlignment(),
+ 2, recordLength,
+ 1, JournalImpl.SIZE_PREPARE_RECORD,
+ 1, JournalImpl.SIZE_DELETE_RECORD) + 1 , files4.size());
- assertEquals(1, journal.getDataFilesCount());
+ assertEquals(calculateNumberOfFiles(fileSize, journal.getAlignment(),
+ 2, recordLength,
+ 1, JournalImpl.SIZE_PREPARE_RECORD,
+ 1, JournalImpl.SIZE_DELETE_RECORD), journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(0, journal.getIDMapSize());
//Move on to another file
- add(3); // in file 2
+ addWithSize(1024 - JournalImpl.SIZE_ADD_RECORD,3); // in file 2
journal.checkAndReclaimFiles();
@@ -1610,7 +1679,7 @@
assertEquals(0, journal.getFreeFilesCount());
assertEquals(1, journal.getIDMapSize());
- add(4); // in file 3
+ addWithSize(1024 - JournalImpl.SIZE_ADD_RECORD,4); // in file 3
List<String> files7 = fileFactory.listFiles(fileExtension);
@@ -1634,9 +1703,9 @@
List<String> files9 = fileFactory.listFiles(fileExtension);
- assertEquals(4, files9.size());
+ assertEquals(journal.getAlignment()==1?4:5, files9.size());
- assertEquals(3, journal.getDataFilesCount());
+ assertEquals(journal.getAlignment()==1?3:4, journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(2, journal.getIDMapSize());
@@ -1644,19 +1713,19 @@
List<String> files10 = fileFactory.listFiles(fileExtension);
- assertEquals(4, files10.size());
+ assertEquals(journal.getAlignment()==1?4:3, files10.size());
- assertEquals(3, journal.getDataFilesCount());
+ assertEquals(journal.getAlignment()==1?3:2, journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(2, journal.getIDMapSize());
- add(5); // in file 4
+ addWithSize(1024 - JournalImpl.SIZE_ADD_RECORD,5); // in file 4
List<String> files11 = fileFactory.listFiles(fileExtension);
- assertEquals(5, files11.size());
+ assertEquals(journal.getAlignment()==1?5:3, files11.size());
- assertEquals(4, journal.getDataFilesCount());
+ assertEquals(journal.getAlignment()==1?4:2, journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(3, journal.getIDMapSize());
@@ -1684,13 +1753,13 @@
List<String> files13 = fileFactory.listFiles(fileExtension);
- assertEquals(3, files13.size());
+ assertEquals(journal.getAlignment()==1?3:4, files13.size());
- assertEquals(2, journal.getDataFilesCount());
+ assertEquals(journal.getAlignment()==1?2:3, journal.getDataFilesCount());
assertEquals(0, journal.getFreeFilesCount());
assertEquals(2, journal.getIDMapSize());
- add(6);
+ addWithSize(1024 - JournalImpl.SIZE_ADD_RECORD,6);
List<String> files14 = fileFactory.listFiles(fileExtension);
@@ -2029,9 +2098,9 @@
//The real appended record size in the journal file = SIZE_BYTE + SIZE_LONG + SIZE_INT + recordLength + SIZE_BYTE
- int realLength = 1 + 8 + 4 + this.recordLength + 1;
+ int realLength = calculateRecordSize(JournalImpl.SIZE_ADD_RECORD + this.recordLength, getAlignment());
- int fileSize = numRecords * realLength + 8; //8 for timestamp
+ int fileSize = numRecords * realLength + calculateRecordSize(8, getAlignment()); //8 for timestamp
setup(10, fileSize, true);
@@ -2161,7 +2230,7 @@
}
/// aki
- public void testMultipleTransactionsDifferentIDs() throws Exception
+ public void testMultipleTransactionsDifferentIDsHackTest() throws Exception
{
setup(5, 512 + 9 * 1024, true);
createJournal();
@@ -2186,6 +2255,34 @@
startJournal();
loadAndCheck();
}
+
+ public void testMultipleTransactionsDifferentIDs() throws Exception
+ {
+ setup(10, 10 * 1024, true);
+ createJournal();
+ startJournal();
+ load();
+
+ addTx(1, 1, 2, 3, 4, 5, 6);
+ updateTx(1, 1, 3, 5);
+ deleteTx(1, 1, 2, 3, 4, 5, 6);
+ commit(1);
+
+ addTx(2, 11, 12, 13, 14, 15, 16);
+ updateTx(2, 11, 13, 15);
+ deleteTx(2, 11, 12, 13, 14, 15, 16);
+ commit(2);
+
+ addTx(3, 21, 22, 23, 24, 25, 26);
+ updateTx(3, 21, 23, 25);
+ deleteTx(3, 21, 22, 23, 24, 25, 26);
+ commit(3);
+
+ stopJournal();
+ createJournal();
+ startJournal();
+ loadAndCheck();
+ }
public void testTransactionOnDifferentFiles() throws Exception
{
More information about the jboss-cvs-commits
mailing list