[jboss-cvs] JBoss Messaging SVN: r4279 - trunk/src/main/org/jboss/messaging/core/journal/impl.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed May 21 23:55:39 EDT 2008


Author: clebert.suconic at jboss.com
Date: 2008-05-21 23:55:39 -0400 (Wed, 21 May 2008)
New Revision: 4279

Modified:
   trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java
Log:
oops.. few fixes on timeouts...
few fixed on sync attribute

Modified: trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java	2008-05-22 03:54:14 UTC (rev 4278)
+++ trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java	2008-05-22 03:55:39 UTC (rev 4279)
@@ -279,7 +279,7 @@
       {
          SimpleCallback callback = new SimpleCallback();
          usedFile = appendRecord(bb.getBuffer(), true, callback);
-         callback.waitCompletion();
+         callback.waitCompletion(aioTimeout);
       }
       else
       {
@@ -314,7 +314,7 @@
       {         
          SimpleCallback callback = new SimpleCallback();
          usedFile = appendRecord(bb, true, callback);
-         callback.waitCompletion();
+         callback.waitCompletion(aioTimeout);
       }
       else
       {
@@ -355,7 +355,7 @@
       {
          SimpleCallback callback = new SimpleCallback();
          usedFile = appendRecord(bb, true, callback);
-         callback.waitCompletion();
+         callback.waitCompletion(aioTimeout);
       }
       else
       {
@@ -394,7 +394,7 @@
       {
          SimpleCallback callback = new SimpleCallback();
          appendRecord(bb, true, callback);
-         callback.waitCompletion();
+         callback.waitCompletion(aioTimeout);
       }
       else
       {
@@ -577,8 +577,6 @@
 			throw new IllegalStateException("Journal must be loaded first");
 		}
 		
-      TransactionCallback callback = getTransactionCallback(txID);
-      callback.countUp();
       
 		TransactionNegPos tx = transactionInfos.remove(txID);
 		
@@ -596,9 +594,19 @@
 		bb.put(DONE);           
 		bb.rewind();
 		
-		JournalFile usedFile = appendRecord(bb, true, callback); 
+		JournalFile usedFile;
+		if (shouldUseCallback)
+		{
+         TransactionCallback callback = getTransactionCallback(txID);
+         callback.countUp();
+   		usedFile = appendRecord(bb, true, callback); 
+   		callback.waitCompletion(aioTimeout);
+		}
+		else
+		{
+         usedFile = appendRecord(bb, true); 
+		}
 		
-		callback.waitCompletion();
 		transactionCallbacks.remove(txID);
 		
 		tx.commit(usedFile);
@@ -628,12 +636,18 @@
 		bb.put(DONE);        
 		bb.rewind();
 		
-		SimpleCallback callback = new SimpleCallback();
+		JournalFile usedFile;
+		if (shouldUseCallback)
+		{
+	      SimpleCallback callback = new SimpleCallback();
+   		usedFile = appendRecord(bb, true, callback);       
+   		callback.waitCompletion(aioTimeout);
+		}
+		else
+		{
+         usedFile = appendRecord(bb, true);      
+		}
 		
-		JournalFile usedFile = appendRecord(bb, true, callback);       
-		
-		callback.waitCompletion();
-		
 		tx.rollback(usedFile);
 	}
 	
@@ -1218,7 +1232,7 @@
    {
       for (TransactionCallback callback: transactionCallbacks.values())
       {
-         callback.waitCompletion();
+         callback.waitCompletion(aioTimeout);
       }
       
       if (!closingExecutor.isShutdown())
@@ -1580,10 +1594,9 @@
          latch.countDown();         
       }
       
-      public void waitCompletion() throws InterruptedException 
+      public void waitCompletion(int timeout) throws InterruptedException 
       {
-         // TODO: Variable Timeout?
-         if (!latch.await(30, TimeUnit.SECONDS))
+         if (!latch.await(timeout, TimeUnit.SECONDS))
          {
             throw new IllegalStateException("Timeout!");
          }
@@ -1612,9 +1625,9 @@
          countLatch.down();
       }
       
-      public void waitCompletion() throws InterruptedException
+      public void waitCompletion(int timeout) throws InterruptedException
       {
-         countLatch.waitCompletion(90);
+         countLatch.waitCompletion(timeout);
          
          if (errorMessage != null)
          {




More information about the jboss-cvs-commits mailing list