[jboss-svn-commits] JBL Code SVN: r31933 - labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/recovery.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Mar 4 08:08:00 EST 2010


Author: jhalliday
Date: 2010-03-04 08:08:00 -0500 (Thu, 04 Mar 2010)
New Revision: 31933

Modified:
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/recovery/PeriodicRecovery.java
Log:
ensure consistent recovery module passes. JBTM-724


Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/recovery/PeriodicRecovery.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/recovery/PeriodicRecovery.java	2010-03-04 13:03:00 UTC (rev 31932)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/recovery/PeriodicRecovery.java	2010-03-04 13:08:00 UTC (rev 31933)
@@ -807,9 +807,12 @@
         }
 
         // n.b. this works on a copy of the modules list so it is not affected by
-        // dynamic updates in the middle of a scan
+        // dynamic updates in the middle of a scan, ensuring first+second pass happen
+        // for the same stable set of modules.
 
-        Enumeration modules = getModules().elements();
+        Vector copyOfModules = getModules();
+        
+        Enumeration modules = copyOfModules.elements();
 
         while (modules.hasMoreElements())
         {
@@ -866,7 +869,7 @@
                     "com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery_15", new Object[] {_theTimestamper.format(new Date())});
         }
 
-        modules = _recoveryModules.elements();
+        modules = copyOfModules.elements();
 
         while (modules.hasMoreElements())
         {



More information about the jboss-svn-commits mailing list