Community
Participate
Working Groups
Change sets for new objects are generally empty - unless set to behave otherwise. When this occurs in the default case, it will cause partial objects to be sent when using cache coordination. These partial objects can result in incorrect remote caches when cache coordination is set to SEND_OBJECT_CHANGES or SEND_OBJECT_CHANGES_WITH_NEW_OBJECTS.
Created attachment 203005 [details] Proposed fix 2.1.x stream
Recreation can be found in test case attached with patch.
Created attachment 203020 [details] Proposed fix trunk and 2.3.x Trunk and 2.0.3 have already solved the initial problem, but have some other code that potentially causes the same issue when using a returning policy.
Checked changes into 2.1.4 - review still pending (Andrei Ilitchev, James Sutherland)
Fixes are slightly different for 2.1/2.2 and trunk/2.3 Both changes check to ensure a changeSet is not new before adding extra records to it. In 2.1/2.2 we fix this for sequencing and optimistic locking In trunk/2.3 the above items are already addressed, but we add some changes for returning policy. Reviewed by Andrei Ilitchev Added test to relationships model Tested with JPA LRG and Returning model tests
Created attachment 203299 [details] some additional changes
Additional changes checked in. - all checked in to 2.3 and trunk, only test changes and DescriptorEvent changes checked into 2.1 and 2.2
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink