[jboss-svn-commits] JBL Code SVN: r36580 - in labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaCore/arjuna/classes/com/arjuna/ats: internal/arjuna/objectstore and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jan 27 05:05:04 EST 2011


Author: jhalliday
Date: 2011-01-27 05:05:04 -0500 (Thu, 27 Jan 2011)
New Revision: 36580

Modified:
   labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/Environment.java
   labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/objectstore/FileSystemStore.java
   labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/objectstore/HashedStore.java
Log:
Add configurable exclusion of zero length files in recovery scans. JBTM-821


Modified: labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/Environment.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/Environment.java	2011-01-27 09:55:59 UTC (rev 36579)
+++ labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/common/Environment.java	2011-01-27 10:05:04 UTC (rev 36580)
@@ -154,7 +154,10 @@
     public static final String PROCESS_IMPLEMENTATION = "com.arjuna.ats.internal.arjuna.utils.processImplementation";
     public static final String PROCESS_IDENTIFIER = "com.arjuna.ats.internal.arjuna.utils.pid";
     public static final String BEFORECOMPLETION_WHEN_ROLLBACKONLY = "com.arjuna.ats.coordinator.beforeCompletionWhenRollbackOnly";
-    
+
+    public static final String SCAN_ZERO_LENGTH_FILES = "com.arjuna.ats.arjuna.objectstore.scanZeroLengthFiles";
+
+
     /**
       * Constant that holds the name of the environment property
       * for specifying the bind address for transaction services

Modified: labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/objectstore/FileSystemStore.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/objectstore/FileSystemStore.java	2011-01-27 09:55:59 UTC (rev 36579)
+++ labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/objectstore/FileSystemStore.java	2011-01-27 10:05:04 UTC (rev 36580)
@@ -296,7 +296,9 @@
 			if ((aUid.notEquals(Uid.nullUid())) && ((match == ObjectStore.OS_UNKNOWN) ||
 								(isType(aUid, tName, match))))
 			{
-			    aUid.pack(store);
+                if(scanZeroLengthFiles || new File(f, entry[i]).length() > 0) {
+			        aUid.pack(store);
+                }
 			}
 		    }
 		}
@@ -955,7 +957,7 @@
     // allow derived classes to specify sync on a per instance basis
 
     protected boolean syncWrites = true;
-    
+
     private String  fullStoreName;
     private String  localStoreRoot;
     private boolean isValid;
@@ -971,6 +973,7 @@
     // global values (some of which may be reset on a per instance basis).
 
     private static boolean   doSync = true;
+    protected static boolean scanZeroLengthFiles = false;
     private static Hashtable fileCache = new Hashtable();
     private static int       createRetry = 100;
     private static int       createTimeout = 100;
@@ -987,6 +990,12 @@
 	else
 	    FileSystemStore.doSync = true;
 
+        String scanZeroLengthFilesString = arjPropertyManager.propertyManager.getProperty(com.arjuna.ats.arjuna.common.Environment.SCAN_ZERO_LENGTH_FILES);
+        if("YES".equalsIgnoreCase(scanZeroLengthFilesString))
+        {
+                scanZeroLengthFiles = true;
+        }
+
 	if (File.separatorChar != FileSystemStore.unixSeparator)
 	    rewriteSeparator = true;
 

Modified: labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/objectstore/HashedStore.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/objectstore/HashedStore.java	2011-01-27 09:55:59 UTC (rev 36579)
+++ labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/objectstore/HashedStore.java	2011-01-27 10:05:04 UTC (rev 36580)
@@ -213,7 +213,9 @@
 				if ((aUid.notEquals(Uid.nullUid())) && ((match == ObjectStore.OS_UNKNOWN) ||
 				    (isType(aUid, tName, match))))
 				{
-				    aUid.pack(store);
+                    if(scanZeroLengthFiles || new File(dir, dirEnt[j]).length() > 0) {
+    				    aUid.pack(store);
+                    }
 				}
 			    }
 			    catch (NumberFormatException e)



More information about the jboss-svn-commits mailing list