[jboss-cvs] JBoss Messaging SVN: r4729 - in trunk: src/config and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Jul 24 14:12:32 EDT 2008


Author: clebert.suconic at jboss.com
Date: 2008-07-24 14:12:32 -0400 (Thu, 24 Jul 2008)
New Revision: 4729

Modified:
   trunk/examples/jms/src/org/jboss/jms/example/PerfExample.java
   trunk/src/config/jbm-configuration.xml
   trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java
   trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/AlignedJournalImplTest.java
   trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalAsyncTest.java
Log:
few tweaks and more tests

Modified: trunk/examples/jms/src/org/jboss/jms/example/PerfExample.java
===================================================================
--- trunk/examples/jms/src/org/jboss/jms/example/PerfExample.java	2008-07-24 17:09:06 UTC (rev 4728)
+++ trunk/examples/jms/src/org/jboss/jms/example/PerfExample.java	2008-07-24 18:12:32 UTC (rev 4729)
@@ -218,10 +218,9 @@
 
          if (perfParams.isDrainQueue())
          {
-            drainQueue(messageConsumer);
+            drainQueue(messageConsumer, perfParams);
             if (perfParams.isSessionTransacted())
             {
-               log.info("commit on drainQueue");
                session.commit();
             }
          }
@@ -256,7 +255,7 @@
       }
    }
 
-   private void drainQueue(final MessageConsumer consumer) throws JMSException
+   private void drainQueue(final MessageConsumer consumer, PerfParams perfParams) throws JMSException
    {
       log.info("draining queue");
       int msgs = 0;
@@ -272,6 +271,11 @@
          {
             msgs ++;
          }
+         
+         if (perfParams.isSessionTransacted() &&  msgs % perfParams.getTransactionBatchSize() == 0)
+         {
+            session.commit();
+         }
       }
    }
 

Modified: trunk/src/config/jbm-configuration.xml
===================================================================
--- trunk/src/config/jbm-configuration.xml	2008-07-24 17:09:06 UTC (rev 4728)
+++ trunk/src/config/jbm-configuration.xml	2008-07-24 18:12:32 UTC (rev 4729)
@@ -95,8 +95,6 @@
       -->
       <journal-max-aio>5000</journal-max-aio>
 
-      <journal-task-period>5000</journal-task-period>
-      
    </configuration>
 
 </deployment>

Modified: trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java	2008-07-24 17:09:06 UTC (rev 4728)
+++ trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java	2008-07-24 18:12:32 UTC (rev 4729)
@@ -567,7 +567,7 @@
          throw new IllegalStateException("Journal must be loaded first");
       }		
       
-      JournalTransaction tx = transactionInfos.remove(txID);
+      JournalTransaction tx = transactionInfos.get(txID);
       
       if (tx == null)
       {
@@ -576,6 +576,7 @@
       
       JournalFile usedFile = writeTransaction(COMMIT_RECORD, txID, tx);
       
+      transactionInfos.remove(txID);
       transactionCallbacks.remove(txID);
       
       tx.commit(usedFile);
@@ -705,10 +706,6 @@
             byte recordType = bb.get();
             if (recordType < ADD_RECORD || recordType > ROLLBACK_RECORD)
             {
-               if (trace)
-               {
-                  log.trace("Invalid record type at " + bb.position() + " file:" + file);
-               }
                continue;
             }
 

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-24 17:09:06 UTC (rev 4728)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/AlignedJournalImplTest.java	2008-07-24 18:12:32 UTC (rev 4729)
@@ -906,7 +906,34 @@
       
    }
    
+   public void testReclaimAfterRollabck() throws Exception
+   {
+      final int JOURNAL_SIZE = 2000;
+      
+      setupJournal(JOURNAL_SIZE, 1);
+      
+      
+      for (int i = 0; i < 10; i++)
+      {
+         journalImpl.appendAddRecordTransactional(1l, i, (byte)0, new SimpleEncoding(1, (byte)0) );
+         journalImpl.forceMoveNextFile();
+      }
+      
+      journalImpl.appendRollbackRecord(1l);
+      
+      journalImpl.forceMoveNextFile();
+      
+      journalImpl.checkAndReclaimFiles();
+      
+      setupJournal(JOURNAL_SIZE, 1);
+      
+      assertEquals(0, journalImpl.getDataFilesCount());
+      
+      assertEquals(2, factory.listFiles("tt").size());
+      
+   }
    
+   
    // Package protected ---------------------------------------------
    
    // Protected -----------------------------------------------------

Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalAsyncTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalAsyncTest.java	2008-07-24 17:09:06 UTC (rev 4728)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalAsyncTest.java	2008-07-24 18:12:32 UTC (rev 4729)
@@ -219,6 +219,16 @@
       t.join();
       
       assertNotNull (t.e);
+      
+      try
+      {
+         journalImpl.appendRollbackRecord(1l);
+         fail("Supposed to throw an exception");
+      }
+      catch (Exception e)
+      {
+         
+      }
    }
    
    // If a callback error already arrived, we should just throw the exception right away




More information about the jboss-cvs-commits mailing list