| Summary: | Make CDOMergingConflictResolver stable | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Modeling] EMF | Reporter: | Sebastian Paul <sebastian.paul.ext> | ||||||
| Component: | cdo.core | Assignee: | Pascal Lehmann <pascal.lehmann> | ||||||
| Status: | CLOSED DUPLICATE | QA Contact: | Eike Stepper <stepper> | ||||||
| Severity: | normal | ||||||||
| Priority: | P3 | CC: | cbateman, esteban.dugueperoux, lothar, pascal.lehmann, rkrijgsheld, saulius.tvarijonas, sebastian.paul.ext | ||||||
| Version: | 4.3 | ||||||||
| Target Milestone: | --- | ||||||||
| Hardware: | PC | ||||||||
| OS: | Windows XP | ||||||||
| URL: | http://www.eclipse.org/forums/index.php?t=msg&goto=662413&S=fbfb18431274b7ac9769a752ffb34bc4 | ||||||||
| Whiteboard: | |||||||||
| Bug Depends on: | 342944 | ||||||||
| Bug Blocks: | |||||||||
| Attachments: |
|
||||||||
|
Description
Sebastian Paul
Hmm, the tests that we have for the CDOMergingConflictResolver all pass, but there are not many of them. Pascal is currently working on a higher-coverage suite for conflict resolvers. That said, I'm not sure if the original cause for the deprecation has already been fixed (perhaps in bug 335773?). Sebastian, have you hit a particular bug in CDOMergingConflictResolver? Or is your problem more that DefaultCDOMerger.PerFeature.ManyValued is not an identical substitute for MergeLocalChangesPerFeature? Created attachment 193121 [details]
new test model
Created attachment 193122 [details]
Testcases
I converted a couple of testcases from our testsuite. Please note that some are quite specific to the ConflictResolver we use and might not make sense for the MergingConflictResolver or probably need some adjustment.
Hi Pascal, Thank you, that looks like a very broad and good base. I've made some minor changes to the new test model and reduced the size of the test class by 50%. And I'm now using the commitAndSync() test helper method, which makes the various sleeps unnecessary. Now it seems that ~60 out of 81 tests are failing. Let's chat about that when you're available again. I hope it's okay that I committed the new project together with the new test framework/logic code? Committed revision 7615 Forgot to commit the test model. Committed revision 7616 (In reply to comment #4) > Now it seems that ~60 out of 81 tests are failing. Correction: 51 out of 81 ;-) Handing over to Pascal... Reducing severity to normal because there's the alternative to use the traditional conflict resolvers. At the moment we are receiving ArrayIndexOutOfBounds when a remove delta is applied. I have found (I think) two problems with the current implementation of the CDOMergingConflictResolver. 1. The ordering in which the RemoteAggragator receives the commit infos is not deterministic, because there is no synchronization from the invalidateOrdererd() onward. 2. the scope of an invalidate is one remote commit. The scope of the RemoteAggregator is the local commit/rollback. Could you please take a look? Moving all open bug reports to 4.1 because the release is very near and it's hghly unlikely that there will be spare time to address 4.0 problems. Please make sure that your patches can be applied against the master branch and that your problem is not already fixed there!!! Moving all open issues to 4.2. Open bugs can be ported to 4.1 maintenance after they've been fixed in master. We'll try to address open problems in 4.3 (master) first and then port fixes back to 4.2. I've committed most of the needed changes in the context of bug 396804, so I'll close this as a dup even if it's older and with more discussion. Sorry ;-) *** This bug has been marked as a duplicate of bug 396804 *** Closing. Closing. |