|(no subject) [message #687406]
||Tue, 07 June 2011 23:36
| Steve Robenalt
Registered: July 2009
I am working with a prototype for a CDO-based application that is intended to provide transparent recovery from intermittent offline usage. The offline setup is very similar to the OfflineExample in the CDO examples - offline clone repository via Net4J JVM connector, remote repository on the same machine via Net4J TCP connector. Derby database for both offline and master repositories.|
Test execution follows the sequence below:
1) Start in online mode.
2) Execute an update to an existing object.
3) Stop the master repository.
4) Execute an update to a different (pre-existing) object - offline branch is created.
5) Restart the master repository.
6) Execute an update to a third existing object - stays on the offline branch.
6a) Following the commit to the offline branch, detect that we are now online and can merge.
7) Create a secondary transaction from the main branch.
8) Execute a merge on the secondary transaction using the offline branch as the source.
9) Commit the secondary transaction.
10) Return the primary transaction to the main branch.
Step 9 fails due to a concurrent modification of the object in step 2, which was updated prior to the creation of the offline branch, though it was performed using the same CDOTransaction.
The error is reproducible, but regrettably, the test is not currently in JUnit form.
A) Is there a simpler way to merge the offline branch back to main, (i.e. without creating a secondary transaction)?
B) Is the offline branch expected to inherit changes that were made prior to its creation by the same transaction?
Any advice is much appreciated.
Powered by FUDForum
. Page generated in 0.01335 seconds