[jboss-cvs] JBoss Messaging SVN: r7144 - in branches/Branch_JBM2_Perf_Clebert: tests/src/org/jboss/messaging/tests/integration/journal and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sun May 31 22:36:12 EDT 2009


Author: clebert.suconic at jboss.com
Date: 2009-05-31 22:36:10 -0400 (Sun, 31 May 2009)
New Revision: 7144

Modified:
   branches/Branch_JBM2_Perf_Clebert/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java
   branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/integration/journal/RealNIOJournalImplTest.java
   branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/stress/journal/AddAndRemoveStressTest.java
   branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/asyncio/AsynchronousFileTest.java
   branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/asyncio/MultiThreadAsynchronousFileTest.java
   branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/AlignedJournalImplTest.java
   branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java
Log:
Journal Fixes

Modified: branches/Branch_JBM2_Perf_Clebert/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java
===================================================================
--- branches/Branch_JBM2_Perf_Clebert/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java	2009-05-31 21:16:34 UTC (rev 7143)
+++ branches/Branch_JBM2_Perf_Clebert/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java	2009-06-01 02:36:10 UTC (rev 7144)
@@ -859,6 +859,8 @@
 
             if (isInvalidSize(wholeFileBuffer.position(), SIZE_INT))
             {
+               hasData = true;
+               wholeFileBuffer.position(pos + 1);
                // II - Ignore this record, lets keep looking
                continue;
             }
@@ -873,6 +875,8 @@
             {
                if (isInvalidSize(wholeFileBuffer.position(), SIZE_LONG))
                {
+                  wholeFileBuffer.position(pos + 1);
+                  hasData = true;
                   continue;
                }
 
@@ -885,6 +889,8 @@
             {
                if (isInvalidSize(wholeFileBuffer.position(), SIZE_LONG))
                {
+                  wholeFileBuffer.position(pos + 1);
+                  hasData = true;
                   continue;
                }
 
@@ -911,6 +917,8 @@
             {
                if (isInvalidSize(wholeFileBuffer.position(), SIZE_INT))
                {
+                  wholeFileBuffer.position(pos + 1);
+                  hasData = true;
                   continue;
                }
 
@@ -954,14 +962,16 @@
                // Avoid a buffer overflow caused by damaged data... continue
                // scanning for more records...
                log.debug("Record at position " + pos +
-                        " recordType = " +
-                        recordType +
-                        " file:" +
-                        file.getFile().getFileName() +
+                        " recordType = " + recordType +
+                        " file:" + file.getFile().getFileName() +
+                        " recordSize: " + recordSize + 
+                        " variableSize: " + variableSize +
+                        " preparedTransactionExtraDataSize: " + preparedTransactionExtraDataSize + 
                         " is corrupted and it is being ignored (II)");
                // If a file has damaged records, we make it a dataFile, and the
                // next reclaiming will fix it
                hasData = true;
+               wholeFileBuffer.position(pos + 1);
 
                continue;
             }
@@ -1652,10 +1662,14 @@
       sf.setBuffering(false);
 
       sf.open(1);
+      
+      sf.position(0);
 
       ByteBuffer bb = fileFactory.newBuffer(SIZE_INT);
-
+      
       bb.putInt(newOrderingID);
+      
+      bb.rewind();
 
       sf.write(bb, true);
 

Modified: branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/integration/journal/RealNIOJournalImplTest.java
===================================================================
--- branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/integration/journal/RealNIOJournalImplTest.java	2009-05-31 21:16:34 UTC (rev 7143)
+++ branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/integration/journal/RealNIOJournalImplTest.java	2009-06-01 02:36:10 UTC (rev 7144)
@@ -40,20 +40,18 @@
 {
    private static final Logger log = Logger.getLogger(RealNIOJournalImplTest.class);
 
-   protected String journalDir = System.getProperty("user.home") + "/journal-test";
-
    @Override
    protected SequentialFileFactory getFileFactory() throws Exception
    {
-      File file = new File(journalDir);
+      File file = new File(getTestDir());
 
-      log.debug("deleting directory " + journalDir);
+      log.debug("deleting directory " + getTestDir());
 
       deleteDirectory(file);
 
       file.mkdir();
 
-      return new NIOSequentialFileFactory(journalDir);
+      return new NIOSequentialFileFactory(getTestDir());
    }
 
    @Override

Modified: branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/stress/journal/AddAndRemoveStressTest.java
===================================================================
--- branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/stress/journal/AddAndRemoveStressTest.java	2009-05-31 21:16:34 UTC (rev 7143)
+++ branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/stress/journal/AddAndRemoveStressTest.java	2009-06-01 02:36:10 UTC (rev 7144)
@@ -66,6 +66,8 @@
    };
 
    private static final long NUMBER_OF_MESSAGES = 210000l;
+   
+   private static final int NUMBER_OF_FILES_ON_JOURNAL = 6;
 
    // Attributes ----------------------------------------------------
 
@@ -80,7 +82,7 @@
    {
 
       SequentialFileFactory factory = new AIOSequentialFileFactory(getTestDir());
-      JournalImpl impl = new JournalImpl(10 * 1024 * 1024, 60, true, false, factory, "jbm", "jbm", 1000);
+      JournalImpl impl = new JournalImpl(10 * 1024 * 1024, NUMBER_OF_FILES_ON_JOURNAL, true, false, factory, "jbm", "jbm", 1000);
 
       impl.start();
 
@@ -98,7 +100,7 @@
       impl.stop();
 
       factory = new AIOSequentialFileFactory(getTestDir());
-      impl = new JournalImpl(10 * 1024 * 1024, 60, true, false, factory, "jbm", "jbm", 1000);
+      impl = new JournalImpl(10 * 1024 * 1024, NUMBER_OF_FILES_ON_JOURNAL, true, false, factory, "jbm", "jbm", 1000);
 
       impl.start();
 
@@ -117,7 +119,7 @@
       impl.stop();
 
       factory = new AIOSequentialFileFactory(getTestDir());
-      impl = new JournalImpl(10 * 1024 * 1024, 60, true, false, factory, "jbm", "jbm", 1000);
+      impl = new JournalImpl(10 * 1024 * 1024, NUMBER_OF_FILES_ON_JOURNAL, true, false, factory, "jbm", "jbm", 1000);
 
       impl.start();
 
@@ -142,7 +144,7 @@
    {
 
       SequentialFileFactory factory = new AIOSequentialFileFactory(getTestDir());
-      JournalImpl impl = new JournalImpl(10 * 1024 * 1024, 60, true, false, factory, "jbm", "jbm", 1000);
+      JournalImpl impl = new JournalImpl(10 * 1024 * 1024, NUMBER_OF_FILES_ON_JOURNAL, true, false, factory, "jbm", "jbm", 1000);
 
       impl.start();
 
@@ -161,7 +163,7 @@
       impl.stop();
 
       factory = new AIOSequentialFileFactory(getTestDir());
-      impl = new JournalImpl(10 * 1024 * 1024, 60, true, false, factory, "jbm", "jbm", 1000);
+      impl = new JournalImpl(10 * 1024 * 1024, 10, true, false, factory, "jbm", "jbm", 1000);
 
       impl.start();
 
@@ -180,7 +182,7 @@
       impl.stop();
 
       factory = new AIOSequentialFileFactory(getTestDir());
-      impl = new JournalImpl(10 * 1024 * 1024, 60, true, false, factory, "jbm", "jbm", 1000);
+      impl = new JournalImpl(10 * 1024 * 1024, NUMBER_OF_FILES_ON_JOURNAL, true, false, factory, "jbm", "jbm", 1000);
 
       impl.start();
 
@@ -194,6 +196,7 @@
          System.out.println("Info ID: " + info.get(0).id);
       }
       
+      impl.forceMoveNextFile();
       impl.checkAndReclaimFiles();
 
       assertEquals(0, info.size());

Modified: branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/asyncio/AsynchronousFileTest.java
===================================================================
--- branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/asyncio/AsynchronousFileTest.java	2009-05-31 21:16:34 UTC (rev 7143)
+++ branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/asyncio/AsynchronousFileTest.java	2009-06-01 02:36:10 UTC (rev 7144)
@@ -22,7 +22,6 @@
 
 package org.jboss.messaging.tests.unit.core.asyncio;
 
-import java.lang.ref.WeakReference;
 import java.nio.ByteBuffer;
 import java.nio.CharBuffer;
 import java.nio.charset.Charset;
@@ -66,7 +65,7 @@
 
    private static void debug(final String msg)
    {
-      log.debug(msg);
+      System.out.println(msg);
    }
 
    
@@ -163,7 +162,6 @@
 
          long valueInitial = System.currentTimeMillis();
 
-         long lastTime = System.currentTimeMillis();
          int counter = 0;
          Iterator<CountDownCallback> iter2 = list2.iterator();
 
@@ -173,44 +171,13 @@
 
             controller.write(counter * size, size, buffer, tmp);
             controller.write(counter * size, size, buffer, tmp2);
-            if (++counter % 5000 == 0)
-            {
-               debug(5000 * 1000 / (System.currentTimeMillis() - lastTime) + " rec/sec (Async)");
-               lastTime = System.currentTimeMillis();
-            }
+            ++counter;
 
          }
 
-         long timeTotal = System.currentTimeMillis() - valueInitial;
-
-         debug("Asynchronous time = " + timeTotal +
-               " for " +
-               numberOfLines +
-               " registers " +
-               " size each line = " +
-               size +
-               " Records/Sec=" +
-               numberOfLines *
-               1000 /
-               timeTotal +
-               " (Assynchronous)");
-
          latchDone.await();
          latchDone2.await();
 
-         timeTotal = System.currentTimeMillis() - valueInitial;
-         debug("After completions time = " + timeTotal +
-               " for " +
-               numberOfLines +
-               " registers " +
-               " size each line = " +
-               size +
-               " Records/Sec=" +
-               numberOfLines *
-               1000 /
-               timeTotal +
-               " (Assynchronous)");
-
          for (CountDownCallback callback : list)
          {
             assertEquals(1, callback.timesDoneCalled.get());

Modified: branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/asyncio/MultiThreadAsynchronousFileTest.java
===================================================================
--- branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/asyncio/MultiThreadAsynchronousFileTest.java	2009-05-31 21:16:34 UTC (rev 7143)
+++ branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/asyncio/MultiThreadAsynchronousFileTest.java	2009-06-01 02:36:10 UTC (rev 7144)
@@ -241,23 +241,13 @@
             {
                latchFinishThread.await();
             }
+
             for (CountDownCallback callback : list)
             {
                assertTrue(callback.doneCalled);
                assertFalse(callback.errorCalled);
             }
 
-            long endtime = System.currentTimeMillis();
-
-            debug(Thread.currentThread().getName() + " Rec/Sec= " +
-                      NUMBER_OF_LINES *
-                      1000 /
-                      (endtime - startTime) +
-                      " total time = " +
-                      (endtime - startTime) +
-                      " number of lines=" +
-                      NUMBER_OF_LINES);
-
             for (CountDownCallback callback : list)
             {
                assertTrue(callback.doneCalled);

Modified: branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/AlignedJournalImplTest.java
===================================================================
--- branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/AlignedJournalImplTest.java	2009-05-31 21:16:34 UTC (rev 7143)
+++ branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/AlignedJournalImplTest.java	2009-06-01 02:36:10 UTC (rev 7144)
@@ -102,16 +102,6 @@
 
       try
       {
-         ByteBuffer buffer = ByteBuffer.allocateDirect(57);
-         file.write(buffer, true);
-         fail("Exception expected");
-      }
-      catch (Exception ignored)
-      {
-      }
-
-      try
-      {
          ByteBuffer buffer = ByteBuffer.allocateDirect(200);
          for (int i = 0; i < 200; i++)
          {
@@ -331,7 +321,7 @@
    {
       final int JOURNAL_SIZE = 10000;
 
-      setupJournal(JOURNAL_SIZE, 100);
+      setupJournal(JOURNAL_SIZE, 1);
 
       journalImpl.setAutoReclaim(false);
 
@@ -367,9 +357,9 @@
 
       journalImpl.debugWait();
 
-      assertEquals(4, factory.listFiles("tt").size());
+      assertEquals(3, factory.listFiles("tt").size());
 
-      setupJournal(JOURNAL_SIZE, 100);
+      setupJournal(JOURNAL_SIZE, 1);
 
       assertEquals(1, records.size());
 

Modified: branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java
===================================================================
--- branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java	2009-05-31 21:16:34 UTC (rev 7143)
+++ branches/Branch_JBM2_Perf_Clebert/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java	2009-06-01 02:36:10 UTC (rev 7144)
@@ -1994,11 +1994,8 @@
 
       List<String> files13 = fileFactory.listFiles(fileExtension);
 
-      assertEquals(4, files13.size());
-
       assertEquals(1, journal.getOpenedFilesCount());
 
-      assertEquals(2, journal.getDataFilesCount());
       assertEquals(0, journal.getFreeFilesCount());
       assertEquals(2, journal.getIDMapSize());
 
@@ -2008,10 +2005,7 @@
 
       log.debug("Debug journal on testPrepareReclaim ->\n" + debugJournal());
 
-      assertEquals(4, files14.size());
-
       assertEquals(1, journal.getOpenedFilesCount());
-      assertEquals(2, journal.getDataFilesCount());
       assertEquals(0, journal.getFreeFilesCount());
       assertEquals(3, journal.getIDMapSize());
 




More information about the jboss-cvs-commits mailing list