| Summary: | List index problem during merge can cause a StaleReference in database even with XRef checking enabled. | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Modeling] EMF | Reporter: | Pascal Lehmann <pascal.lehmann> | ||||||||
| Component: | cdo.core | Assignee: | Eike Stepper <stepper> | ||||||||
| Status: | CLOSED FIXED | QA Contact: | Eike Stepper <stepper> | ||||||||
| Severity: | normal | ||||||||||
| Priority: | P3 | CC: | cyril.jaquier | ||||||||
| Version: | 4.0 | ||||||||||
| Target Milestone: | --- | ||||||||||
| Hardware: | All | ||||||||||
| OS: | All | ||||||||||
| Whiteboard: | |||||||||||
| Attachments: |
|
||||||||||
|
Description
Pascal Lehmann
Created attachment 179833 [details]
Testcase
Testcase which will throw an ObjectNotFoundException when accessing the list after commit.
Created attachment 179834 [details]
Proposed patch to fix the index problem
This patch addresses the index problem. However, it might be possible to create the situation as described in the testcase in some other way, which might create the need for more stale reference checking on the server.
NOTE: the ManyValued merger does not yet work correctly for larger lists, I might post an improved version when I finally find some time to clean up my code :)
1) The number of lines that you changed is smaller than 250.
confirmed.
2) You are the only author of these changed lines.
confirmed.
3) You apply the EPL to these changed lines.
confirmed.
Created attachment 180011 [details]
Combined patch - for future reference
Plus AllConfigs.java
Committed to HEAD Committed to HEAD Available in R20110608-1407 |