[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