[jboss-cvs] JBoss Messaging SVN: r5858 - in trunk: tests/src/org/jboss/messaging/tests/stress/journal and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Feb 12 23:23:15 EST 2009


Author: clebert.suconic at jboss.com
Date: 2009-02-12 23:23:14 -0500 (Thu, 12 Feb 2009)
New Revision: 5858

Modified:
   trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java
   trunk/tests/src/org/jboss/messaging/tests/stress/journal/AddAndRemoveStressTest.java
   trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java
Log:
JBMESSAGING-1509 - Fix and tests

Modified: trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java	2009-02-13 03:41:47 UTC (rev 5857)
+++ trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java	2009-02-13 04:23:14 UTC (rev 5858)
@@ -1085,8 +1085,6 @@
 
                   hasData = true;
 
-                  file.incPosCount();
-
                   PosFiles posFiles = posFilesMap.get(recordID);
 
                   if (posFiles != null)

Modified: trunk/tests/src/org/jboss/messaging/tests/stress/journal/AddAndRemoveStressTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/stress/journal/AddAndRemoveStressTest.java	2009-02-13 03:41:47 UTC (rev 5857)
+++ trunk/tests/src/org/jboss/messaging/tests/stress/journal/AddAndRemoveStressTest.java	2009-02-13 04:23:14 UTC (rev 5858)
@@ -197,7 +197,7 @@
 
       assertEquals(0, info.size());
       assertEquals(0, trans.size());
-      //assertEquals(0, impl.getDataFilesCount()); -- re-enable this assertion
+      assertEquals(0, impl.getDataFilesCount());
 
       System.out.println("Size = " + impl.getDataFilesCount());
 

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	2009-02-13 03:41:47 UTC (rev 5857)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java	2009-02-13 04:23:14 UTC (rev 5858)
@@ -2935,6 +2935,70 @@
       loadAndCheck();
    }
 
+   public void testReclaimAfterUpdate() throws Exception
+   {
+      setup(2, 40 * 1024, true);
+
+      createJournal();
+      startJournal();
+      load();
+
+      for (int i = 0; i < 100; i++)
+      {
+         if (i % 10  == 0 && i>0) 
+         {
+            System.out.println("new file at " + i);
+            journal.forceMoveNextFile();
+         }
+
+         add(i);
+         update(i);
+         
+      }
+      
+      System.out.println("Before stop ****************************");
+      System.out.println(journal.debug());
+      System.out.println("*****************************************");
+
+      stopJournal();
+      createJournal();
+      startJournal();
+      loadAndCheck();
+
+      System.out.println("After start ****************************");
+      System.out.println(journal.debug());
+      System.out.println("*****************************************");
+
+      journal.forceMoveNextFile();
+
+      for (int i = 0; i < 100; i++)
+      {
+         delete(i);
+      }
+
+      journal.forceMoveNextFile();
+
+      System.out.println("Before reclaim ****************************");
+      System.out.println(journal.debug());
+      System.out.println("*****************************************");
+
+      
+      journal.checkAndReclaimFiles();
+
+      System.out.println("After reclaim ****************************");
+      System.out.println(journal.debug());
+      System.out.println("*****************************************");
+
+      
+      stopJournal();
+      createJournal();
+      startJournal();
+      loadAndCheck();
+
+      assertEquals(0, journal.getDataFilesCount());
+   }
+
+   
    protected abstract int getAlignment();
 
 }




More information about the jboss-cvs-commits mailing list