Community
Participate
Working Groups
Bug description courtesy of Egidijus: "When [using partial commits] ... Moving class from one package to another triggers CDO reattach action, which attempts to restore revision from the formerRevisionKeys for transient object. After first commit was triggered, CDO attempted to clean formerRevisionKeys in CDOTransationImpl.cleanUp. If it is not partial commit, then formerRevisionKeys is whole cleared, but if we have partial commit, then it clears entries only for detached elements (revisions for dirty elements are left). Second time on reattaching element, code doesn't update formerRevisionKeys (on detach) with newer revision and reattaching accomplishes its action, by restoring version from stale revision, constructed from the previous reattach action (we have version regression). Server side on commit throws exceptions." Additional note from me: the object being reattached is *included* in both the first and 2nd partial commit.
Created attachment 190817 [details] Testcase (as a patch)
Created attachment 190818 [details] Patch (including testcase)
Created attachment 190827 [details] Patch v3 Just reformatted.
Committed revision 7437.
Available in R20110608-1407