| Summary: | IndexOutOfBoundsException during branch merge | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 | ||||||||||
| Version: | 3.0 | ||||||||||
| Target Milestone: | --- | ||||||||||
| Hardware: | All | ||||||||||
| OS: | All | ||||||||||
| Whiteboard: | |||||||||||
| Attachments: |
|
||||||||||
|
Description
Pascal Lehmann
Created attachment 169823 [details]
TestCase
The test case contains two tests:
- one for the merge case.
- one for the notification.
Created attachment 169824 [details]
proposed patch
added a check if index is > 0 before decreasing.
Created attachment 169825 [details]
proposed patch for CDOSingleValueFeatureDelta
added a check if index > 0 before decreasing.
I patched CDOSingleValueFeatureDeltaImpl and CDOMoveFeatureDeltaImpl's adjustAfterRemoval method. However in CDOMoveFeatureDeltaImpl there also happens some index adjusting in the affectIndices method, which I didn't check and which also might need the > 0 check. 1) The number of lines that you added/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 Thank you Pascal. The second test case (testNotificationBuilderTest) passes with the patches being applied. But the first one (testMergeTest) still fails and the cause seems unrelated to this bugzilla. It seems more related with bug 312534. For now I commented out the first test case until you have a chance to try it and give feedback. Committed to HEAD. Okay, included the first test case again. Committed to HEAD. Available in 3.0 GA: http://download.eclipse.org/modeling/emf/cdo/updates/3.0-releases/ |