[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