[jboss-cvs] JBoss Messaging SVN: r3473 - in trunk/src/main/org/jboss/messaging: newcore/impl/bdbje/integration/test/unit and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Dec 11 06:57:11 EST 2007
Author: timfox
Date: 2007-12-11 06:57:10 -0500 (Tue, 11 Dec 2007)
New Revision: 3473
Modified:
trunk/src/main/org/jboss/messaging/newcore/impl/bdbje/integration/RealBDBJEDatabase.java
trunk/src/main/org/jboss/messaging/newcore/impl/bdbje/integration/RealBDBJEEnvironment.java
trunk/src/main/org/jboss/messaging/newcore/impl/bdbje/integration/test/unit/RealBDBJEEnvironmentTest.java
trunk/src/main/org/jboss/messaging/newcore/impl/bdbje/test/unit/BDBJEEnvironmentTestBase.java
trunk/src/main/org/jboss/messaging/newcore/impl/bdbje/test/unit/FakeBDBJEEnvironmentTest.java
trunk/src/main/org/jboss/messaging/test/unit/UnitTestCase.java
Log:
A few tweaks
Modified: trunk/src/main/org/jboss/messaging/newcore/impl/bdbje/integration/RealBDBJEDatabase.java
===================================================================
--- trunk/src/main/org/jboss/messaging/newcore/impl/bdbje/integration/RealBDBJEDatabase.java 2007-12-11 07:47:42 UTC (rev 3472)
+++ trunk/src/main/org/jboss/messaging/newcore/impl/bdbje/integration/RealBDBJEDatabase.java 2007-12-11 11:57:10 UTC (rev 3473)
@@ -40,7 +40,6 @@
if (offset != 0 || bytes.length != length)
{
- System.out.println("Partial, offset=" + offset);
value.setPartial(offset, length, true);
}
Modified: trunk/src/main/org/jboss/messaging/newcore/impl/bdbje/integration/RealBDBJEEnvironment.java
===================================================================
--- trunk/src/main/org/jboss/messaging/newcore/impl/bdbje/integration/RealBDBJEEnvironment.java 2007-12-11 07:47:42 UTC (rev 3472)
+++ trunk/src/main/org/jboss/messaging/newcore/impl/bdbje/integration/RealBDBJEEnvironment.java 2007-12-11 11:57:10 UTC (rev 3473)
@@ -257,10 +257,10 @@
public List<Xid> getInDoubtXids() throws Exception
{
- Xid[] xids = environment.recover(XAResource.TMSTARTRSCAN);
+ Xid[] xids = environment.recover(XAResource.TMSTARTRSCAN & XAResource.TMENDRSCAN);
List<Xid> list = Arrays.asList(xids);
-
+
return list;
}
Modified: trunk/src/main/org/jboss/messaging/newcore/impl/bdbje/integration/test/unit/RealBDBJEEnvironmentTest.java
===================================================================
--- trunk/src/main/org/jboss/messaging/newcore/impl/bdbje/integration/test/unit/RealBDBJEEnvironmentTest.java 2007-12-11 07:47:42 UTC (rev 3472)
+++ trunk/src/main/org/jboss/messaging/newcore/impl/bdbje/integration/test/unit/RealBDBJEEnvironmentTest.java 2007-12-11 11:57:10 UTC (rev 3473)
@@ -17,8 +17,6 @@
{
protected void setUp() throws Exception
{
- System.out.println("Creating env dir");
-
createDir(ENV_DIR);
env = createEnvironment();
@@ -43,10 +41,30 @@
{
File file = new File(path);
- boolean deleted = deleteDirectory(file);
+ deleteDirectory(file);
- System.out.println("Deleted: " + deleted);
-
file.mkdir();
}
+
+ protected void copyEnvironment() throws Exception
+ {
+ File envCopyDir = new File(ENV_COPY_DIR);
+
+ deleteDirectory(envCopyDir);
+
+ copyRecursive(new File(ENV_DIR), envCopyDir);
+ }
+
+ protected void copyBackEnvironment() throws Exception
+ {
+ File envDir = new File(ENV_DIR);
+
+ File envCopyDir = new File(ENV_COPY_DIR);
+
+ deleteDirectory(envDir);
+
+ copyRecursive(envCopyDir, envDir);
+
+ deleteDirectory(envCopyDir);
+ }
}
Modified: trunk/src/main/org/jboss/messaging/newcore/impl/bdbje/test/unit/BDBJEEnvironmentTestBase.java
===================================================================
--- trunk/src/main/org/jboss/messaging/newcore/impl/bdbje/test/unit/BDBJEEnvironmentTestBase.java 2007-12-11 07:47:42 UTC (rev 3472)
+++ trunk/src/main/org/jboss/messaging/newcore/impl/bdbje/test/unit/BDBJEEnvironmentTestBase.java 2007-12-11 11:57:10 UTC (rev 3473)
@@ -21,6 +21,7 @@
*/
package org.jboss.messaging.newcore.impl.bdbje.test.unit;
+import java.io.File;
import java.util.List;
import javax.transaction.xa.Xid;
@@ -43,8 +44,10 @@
protected BDBJEDatabase database;
- protected static final String ENV_DIR = "test-bdb-environment";
+ protected static final String ENV_DIR = "/home/tim/test-bdb-environment";
+ protected static final String ENV_COPY_DIR = "/home/tim/test-bdb-environment-copy";
+
protected static final String DB_NAME = "test-db";
@Override
@@ -74,6 +77,10 @@
protected abstract BDBJEEnvironment createEnvironment() throws Exception;
+ protected abstract void copyEnvironment() throws Exception;
+
+ protected abstract void copyBackEnvironment() throws Exception;
+
// The tests ----------------------------------------------------------------
public void testGetInDoubtXidsCompleteWithCommit() throws Exception
@@ -176,7 +183,7 @@
}
-// Commented out until http://jira.jboss.org/jira/browse/JBMESSAGING-1192 is complete
+ // Commented out until http://jira.jboss.org/jira/browse/JBMESSAGING-1192 is complete
// public void testGetInDoubtXidsMultipleWithRestart() throws Exception
// {
// List<Xid> xids = env.getInDoubtXids();
@@ -214,12 +221,21 @@
// assertTrue(xids.contains(xid2));
// assertTrue(xids.contains(xid3));
//
+// //Now to simulate a crash we copy the environment directory from under BDB, then close
+// //BDB. Then start it again with the copied config.
+// //We can't just stop the environment and restart it since on stopping cleanly BDB will abort any open
+// //transactions
+//
+// copyEnvironment();
+//
// database.close();
//
// env.stop();
//
+// copyBackEnvironment();
+//
// env.start();
-//
+//
// database = env.getDatabase(DB_NAME);
//
// xids = env.getInDoubtXids();
@@ -236,6 +252,7 @@
// assertTrue(xids.isEmpty());
// }
+
public void testPutAndRemoveNonTransactional() throws Exception
{
byte[] bytes = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
@@ -356,8 +373,9 @@
database.close();
+ //This will abort the transaction
env.stop();
-
+
env.start();
database = env.getDatabase(DB_NAME);
Modified: trunk/src/main/org/jboss/messaging/newcore/impl/bdbje/test/unit/FakeBDBJEEnvironmentTest.java
===================================================================
--- trunk/src/main/org/jboss/messaging/newcore/impl/bdbje/test/unit/FakeBDBJEEnvironmentTest.java 2007-12-11 07:47:42 UTC (rev 3472)
+++ trunk/src/main/org/jboss/messaging/newcore/impl/bdbje/test/unit/FakeBDBJEEnvironmentTest.java 2007-12-11 11:57:10 UTC (rev 3473)
@@ -22,4 +22,12 @@
protected void createDir(String path)
{
}
+
+ protected void copyEnvironment()
+ {
+ }
+
+ protected void copyBackEnvironment()
+ {
+ }
}
Modified: trunk/src/main/org/jboss/messaging/test/unit/UnitTestCase.java
===================================================================
--- trunk/src/main/org/jboss/messaging/test/unit/UnitTestCase.java 2007-12-11 07:47:42 UTC (rev 3472)
+++ trunk/src/main/org/jboss/messaging/test/unit/UnitTestCase.java 2007-12-11 11:57:10 UTC (rev 3473)
@@ -21,7 +21,13 @@
*/
package org.jboss.messaging.test.unit;
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -100,6 +106,57 @@
return directory.delete();
}
+ protected void copyRecursive(File from , File to) throws Exception
+ {
+ if (from.isDirectory())
+ {
+ if (!to.exists())
+ {
+ to.mkdir();
+ }
+
+ String[] subs = from.list();
+
+ for (int i = 0; i < subs.length; i++)
+ {
+ copyRecursive(new File(from, subs[i]),
+ new File(to, subs[i]));
+ }
+ }
+ else
+ {
+ InputStream in = null;
+
+ OutputStream out = null;
+
+ try
+ {
+ in = new BufferedInputStream(new FileInputStream(from));
+
+ out = new BufferedOutputStream(new FileOutputStream(to));
+
+ int b;
+
+ while ((b = in.read()) != -1)
+ {
+ out.write(b);
+ }
+ }
+ finally
+ {
+ if (in != null)
+ {
+ in.close();
+ }
+
+ if (out != null)
+ {
+ out.close();
+ }
+ }
+ }
+ }
+
protected void assertRefListsIdenticalRefs(List<MessageReference> l1, List<MessageReference> l2)
{
if (l1.size() != l2.size())
More information about the jboss-cvs-commits
mailing list