[jboss-svn-commits] JBL Code SVN: r33157 - in labs/jbosstm/trunk/ArjunaCore/arjuna: classes/com/arjuna/ats/arjuna/state and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat May 29 17:59:33 EDT 2010


Author: mark.little at jboss.com
Date: 2010-05-29 17:59:32 -0400 (Sat, 29 May 2010)
New Revision: 33157

Modified:
   labs/jbosstm/trunk/ArjunaCore/arjuna/build.xml
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/state/InputObjectState.java
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/state/OutputBuffer.java
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/state/OutputObjectState.java
   labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/objectstore/ObjectStoreTest.java
   labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/state/IOStateUnitTest.java
Log:
https://jira.jboss.org/browse/JBTM-698

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/build.xml
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/build.xml	2010-05-29 20:36:26 UTC (rev 33156)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/build.xml	2010-05-29 21:59:32 UTC (rev 33157)
@@ -65,9 +65,6 @@
                     <exclude name="**/objectstore/LogStoreRecoveryTest.java"/>
                     <exclude name="**/objectstore/LogStoreTest2.java"/>
 
-                    <!-- TODO cached store is broken, fails from tiem to time. needs fixing -->
-                    <exclude name="**/objectstore/CachedTest.java"/>
-
                     <exclude name="**/recovery/RecoveryManagerStartStopTest.java"/>
                     <!-- auxilairy code used by reaper test classes -->
                     <exclude name="**/reaper/ReaperTestCaseControl.java"/>

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/state/InputObjectState.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/state/InputObjectState.java	2010-05-29 20:36:26 UTC (rev 33156)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/state/InputObjectState.java	2010-05-29 21:59:32 UTC (rev 33157)
@@ -97,7 +97,7 @@
 	try
 	{
 	    bufferUid = new Uid(copyFrom.stateUid());
-	    super._valid = bufferUid.valid();
+	    super._valid = super._valid && bufferUid.valid();
 	
 	    imageType = new String((copyFrom.type() == null) ? "" : copyFrom.type());
 	}
@@ -116,7 +116,7 @@
     }
 
 	bufferUid = new Uid(newUid);
-	super._valid = bufferUid.valid();
+	super._valid = super._valid && bufferUid.valid();
 	
 	imageType = new String(tName);
     }

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/state/OutputBuffer.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/state/OutputBuffer.java	2010-05-29 20:36:26 UTC (rev 33156)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/state/OutputBuffer.java	2010-05-29 21:59:32 UTC (rev 33157)
@@ -142,6 +142,10 @@
 
             initBuffer();
         }
+        catch (final NullPointerException ex)
+        {
+            _valid = false;
+        }
         catch (IOException e)
         {
             _valid = false;

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/state/OutputObjectState.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/state/OutputObjectState.java	2010-05-29 20:36:26 UTC (rev 33156)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/state/OutputObjectState.java	2010-05-29 21:59:32 UTC (rev 33157)
@@ -103,7 +103,7 @@
 	try
 	{
 	    bufferUid = new Uid(copyFrom.stateUid());
-	    super._valid = bufferUid.valid();
+	    super._valid = super._valid && bufferUid.valid();
 
 	    imageType = new String(copyFrom.type());
 	}
@@ -134,7 +134,7 @@
     }
 
 	bufferUid = new Uid(newUid);
-	super._valid = bufferUid.valid();
+	super._valid = super._valid && bufferUid.valid();
 	
 	imageType = (tName == null ? null : new String(tName));
     }

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/objectstore/ObjectStoreTest.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/objectstore/ObjectStoreTest.java	2010-05-29 20:36:26 UTC (rev 33156)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/objectstore/ObjectStoreTest.java	2010-05-29 21:59:32 UTC (rev 33157)
@@ -45,6 +45,7 @@
 import com.arjuna.ats.arjuna.state.OutputObjectState;
 import com.arjuna.ats.arjuna.utils.FileLock;
 import com.arjuna.ats.internal.arjuna.objectstore.ActionStore;
+import com.arjuna.ats.internal.arjuna.objectstore.CacheStore;
 import com.arjuna.ats.internal.arjuna.objectstore.FileLockingStore;
 import com.arjuna.ats.internal.arjuna.objectstore.HashedActionStore;
 import com.arjuna.ats.internal.arjuna.objectstore.HashedStore;
@@ -307,6 +308,47 @@
     }
     
     @Test
+    public void testCacheStore () throws Exception
+    {
+        CacheStore as = new CacheStore();
+        
+        as = new CacheStore(System.getProperty("java.io.tmpdir"));
+        
+        assertTrue(as.typeIs() != -1);
+        
+        final OutputObjectState buff = new OutputObjectState();
+        final String tn = "/StateManager/junit";
+        
+        for (int i = 0; i < 100; i++)
+        {
+            Uid u = new Uid();
+            
+            as.write_uncommitted(u, tn, buff);
+            
+            as.commit_state(u, tn);
+            
+            assertTrue(as.currentState(u, tn) != StateStatus.OS_UNCOMMITTED);
+            
+            InputObjectState ios = new InputObjectState();
+            
+            as.allObjUids("", ios);
+            
+            as.read_uncommitted(u, tn);  // may or may not be there if cache flush hasn't happened
+            
+            as.write_committed(u, tn, buff);
+            as.read_committed(u, tn);
+            
+            as.remove_uncommitted(u, tn);  // may or may not be there if cache flush hasn't happened
+            
+            as.remove_committed(u, tn);
+            
+            assertTrue(!as.hide_state(u, tn));
+            
+            assertTrue(!as.reveal_state(u, tn));
+        }
+    }
+    
+    @Test
     public void testHashedActionStore () throws Exception
     {
         HashedActionStore as = new HashedActionStore();

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/state/IOStateUnitTest.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/state/IOStateUnitTest.java	2010-05-29 20:36:26 UTC (rev 33156)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/state/IOStateUnitTest.java	2010-05-29 21:59:32 UTC (rev 33157)
@@ -142,5 +142,9 @@
         oos.copy(new OutputObjectState());
         
         assertTrue(oos.toString() != null);
+        
+        temp = new OutputObjectState(new Uid(), "", null);
+        
+        assertFalse(temp.valid());
     }
 }



More information about the jboss-svn-commits mailing list