[jboss-cvs] JBoss Messaging SVN: r4681 - trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Jul 11 22:36:00 EDT 2008


Author: clebert.suconic at jboss.com
Date: 2008-07-11 22:35:59 -0400 (Fri, 11 Jul 2008)
New Revision: 4681

Modified:
   trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/AlignedJournalImplTest.java
Log:
Adding more tests

Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/AlignedJournalImplTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/AlignedJournalImplTest.java	2008-07-12 01:56:08 UTC (rev 4680)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/AlignedJournalImplTest.java	2008-07-12 02:35:59 UTC (rev 4681)
@@ -367,6 +367,112 @@
       
    }
    
+   public void testReclaimWithCompletedTransaction() throws Exception
+   {
+      final int JOURNAL_SIZE = 51 * 1024;
+      
+      setupJournal(JOURNAL_SIZE, 1024);
+      
+      assertEquals(0, records.size());
+      assertEquals(0, transactions.size());
+      
+      for (int i = 0; i < 10; i++)
+      {
+         journalImpl.appendAddRecordTransactional(1, 1, (byte) 1, new SimpleEncoding(50,(byte) 1));
+         journalImpl.forceMoveNextFile();
+      }
+      
+      journalImpl.debugWait();
+      
+      //System.out.println("files = " + journalImpl.debug());
+      
+      journalImpl.appendCommitRecord(1l);
+
+      assertEquals(12, factory.listFiles("tt").size());
+
+      setupJournal(JOURNAL_SIZE, 1024);
+
+      assertEquals(10, records.size());
+      assertEquals(0, transactions.size());
+      
+      journalImpl.checkAndReclaimFiles();
+      
+      assertEquals(10, journalImpl.getDataFilesCount());
+      
+      assertEquals(12, factory.listFiles("tt").size());
+      
+   }
+   
+   public void testReclaimWithPreparedTransaction() throws Exception
+   {
+      final int JOURNAL_SIZE = 51 * 1024;
+      
+      setupJournal(JOURNAL_SIZE, 1);
+      
+      assertEquals(0, records.size());
+      assertEquals(0, transactions.size());
+      
+      for (int i = 0; i < 10; i++)
+      {
+         journalImpl.appendAddRecordTransactional(1, 1, (byte) 1, new SimpleEncoding(50,(byte) 1));
+         journalImpl.forceMoveNextFile();
+      }
+      
+      journalImpl.debugWait();
+      
+      //System.out.println("files = " + journalImpl.debug());
+      
+      journalImpl.appendPrepareRecord(1l);
+
+      assertEquals(12, factory.listFiles("tt").size());
+
+      setupJournal(JOURNAL_SIZE, 1024);
+
+      assertEquals(0, records.size());
+      assertEquals(1, transactions.size());
+      
+      journalImpl.checkAndReclaimFiles();
+      
+      assertEquals(10, journalImpl.getDataFilesCount());
+      
+      assertEquals(12, factory.listFiles("tt").size());
+      
+      journalImpl.appendCommitRecord(1l);
+      
+      setupJournal(JOURNAL_SIZE, 1024);
+
+      assertEquals(10, records.size());
+      
+      journalImpl.checkAndReclaimFiles();
+      
+      for (int i = 0; i < 10; i++)
+      {
+         journalImpl.appendDeleteRecordTransactional(2l, (long)i);
+      }
+      
+      journalImpl.appendPrepareRecord(2l);
+      
+      setupJournal(JOURNAL_SIZE, 1);
+      
+      assertEquals(10, journalImpl.getDataFilesCount());
+
+      assertEquals(12, factory.listFiles("tt").size());
+      
+      journalImpl.appendCommitRecord(2l);
+      
+      setupJournal(JOURNAL_SIZE, 1);
+      
+      assertEquals(0, records.size());
+      assertEquals(0, transactions.size());
+
+      journalImpl.forceMoveNextFile();
+      journalImpl.checkAndReclaimFiles();
+      
+      assertEquals(2, factory.listFiles("tt").size());
+
+      
+   }
+   
    // Package protected ---------------------------------------------
    
    // Protected -----------------------------------------------------




More information about the jboss-cvs-commits mailing list