Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 352561 - Support client assigned CDOIDs (UUIDs)
Summary: Support client assigned CDOIDs (UUIDs)
Status: CLOSED FIXED
Alias: None
Product: EMF
Classification: Modeling
Component: cdo.core (show other bugs)
Version: 4.1   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Eike Stepper CLA
QA Contact: Eike Stepper CLA
URL:
Whiteboard: Appealing to a Broader Community
Keywords:
Depends on:
Blocks: 354419 355285
  Show dependency tree
 
Reported: 2011-07-20 07:44 EDT by Eike Stepper CLA
Modified: 2012-09-21 07:17 EDT (History)
4 users (show)

See Also:
stepper: review+


Attachments
Patch v1 - for future reference (165.18 KB, patch)
2011-07-20 07:49 EDT, Eike Stepper CLA
no flags Details | Diff
Patch (incremental) (1.44 KB, patch)
2011-07-24 23:49 EDT, Caspar D. CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Eike Stepper CLA 2011-07-20 07:44:46 EDT
All replication scenarios (especially offline clones and offline workspaces) have a problem with master assigned IDs because they can't contact the master when they're offline. Client assigned IDs are the solution.
Comment 1 Eike Stepper CLA 2011-07-20 07:49:42 EDT
Created attachment 199977 [details]
Patch v1 - for future reference
Comment 2 Eike Stepper CLA 2011-07-20 07:50:58 EDT
Committed revision 8725:
- trunk/plugins/org.eclipse.emf.cdo
- trunk/plugins/org.eclipse.emf.cdo.common
- trunk/plugins/org.eclipse.emf.cdo.net4j
- trunk/plugins/org.eclipse.emf.cdo.server
- trunk/plugins/org.eclipse.emf.cdo.server.db
- trunk/plugins/org.eclipse.emf.cdo.server.db4o
- trunk/plugins/org.eclipse.emf.cdo.server.mongodb
- trunk/plugins/org.eclipse.emf.cdo.server.net4j
- trunk/plugins/org.eclipse.emf.cdo.server.objectivity
- trunk/plugins/org.eclipse.emf.cdo.tests
- trunk/plugins/org.eclipse.emf.cdo.tests.db
- trunk/plugins/org.eclipse.emf.cdo.tests.db4o
- trunk/plugins/org.eclipse.emf.cdo.tests.hibernate
- trunk/plugins/org.eclipse.emf.cdo.tests.mongodb
- trunk/plugins/org.eclipse.emf.cdo.tests.objectivity
- trunk/plugins/org.eclipse.emf.cdo.ui
- trunk/plugins/org.eclipse.emf.cdo.workspace
- trunk/plugins/org.eclipse.emf.cdo.workspace.efs
- trunk/plugins/org.eclipse.net4j.tests
- trunk/plugins/org.eclipse.net4j.util
Comment 3 Eike Stepper CLA 2011-07-20 07:57:45 EDT
Caspar, please investigate why Bugzilla_338884_Test.test_single() is failing. It seems that it's related to your CommitIntegrityCheck.

To enable UUIDs in the tests you must uncomment the second last line in RepositoryConfig.getRepositoryProperties():
  repositoryProperties.put(IRepository.Props.ID_GENERATION_LOCATION, "CLIENT");
  
I'll start tomorrow to redesign the test framework such that it will be easier to add "test modes" like this.
Comment 4 Eike Stepper CLA 2011-07-21 04:44:15 EDT
(In reply to comment #3)
> I'll start tomorrow to redesign the test framework such that it will be easier
> to add "test modes" like this.

Done. See AllTestsDBH2All.java
Comment 5 Eike Stepper CLA 2011-07-22 13:08:08 EDT
Committed revision 8811:
- trunk/plugins/org.eclipse.net4j.util
Comment 6 Caspar D. CLA 2011-07-24 23:49:40 EDT
Created attachment 200251 [details]
Patch (incremental)

As you told me on Skype, this caused some minor breakage in one
test related to the CommitIntegrityCheck. Here's a patch that
fixes that.
Comment 7 Eike Stepper CLA 2011-07-25 23:50:00 EDT
Caspar, please commit your patch and resolve this bug. Thanks!
Comment 8 Caspar D. CLA 2011-07-26 01:51:45 EDT
Committed revision 8816.
Comment 9 Eike Stepper CLA 2011-07-27 03:24:33 EDT
rawExport() and rawImport() in DBStoreAccessor do not fully consider IDGenerationLocation.
Comment 10 Eike Stepper CLA 2011-07-27 03:25:33 EDT
Fix is:

    if (store.getRepository().getIDGenerationLocation() == IDGenerationLocation.STORE)
			// Transfer last object ID
Comment 11 Eike Stepper CLA 2011-07-27 03:25:46 EDT
Committed revision 8824:
- trunk/plugins/org.eclipse.emf.cdo.server.db
Comment 12 Eike Stepper CLA 2011-07-27 03:26:10 EDT
Resolved.
Comment 13 Eike Stepper CLA 2011-08-18 03:08:42 EDT
Committed revision 8914:
- trunk/plugins/org.eclipse.emf.cdo.tests
Comment 14 Eike Stepper CLA 2012-09-21 07:17:33 EDT
Closing.