Community
Participate
Working Groups
The tests in the testsuite eclipselink.jpa.wdf.test originally have been written for a JPA implementation, which allows to have references from cacheable to non-cacheable entities. The model underlying the tests makes heavy use of this possibility. Up to recently, this has not been possible in EclipseLink. Hence caching has been disabled in the testmodel of eclipselink.jpa.wdf.test using a <property name="eclipselink.cache.shared.default" value="false"/> switch. With patch https://bugs.eclipse.org/bugs/show_bug.cgi?id=232063 EclipseLink now supports having relationships from cacheable to non-cacheable entities. The task of this bug is to assess if caching can now be selectively be enabled for the eclipselink.jpa.wdf.test testuite.
Created attachment 188603 [details] patch enabling the cache selectively
Some child bugs filed for issues that are not apparently correlated.
Setting the target milestone back to future.
Created attachment 201926 [details] proposed fix -trunk This fix includes changes that allow the WDF tests to pass with caching enabled. It fixes bugs listed as blockers for this bug and includes some additional changes.
Created attachment 201927 [details] proposed fix - 231 Fix has differences from trunk because some cache initialization functionality was refactored in trunk.
Created attachment 201998 [details] updated patch 231
Created attachment 201999 [details] updated patch trunk
*** Bug 336741 has been marked as a duplicate of this bug. ***
*** Bug 337427 has been marked as a duplicate of this bug. ***
Changes descriptor initialization to propogate PROTECTED setting to more descriptors. Also fixes some issues with propogating and using protected keys for protected descriptors. Reviewed By Gordon Yorke Tested by Enabling caching on the WDF test suite and fixing issues Also tested with JPA and Core LRG
Found some additional issue with mixing cacheable in trunk, - relationships to protected classes were being marked as non-cacheable, but they should be cacheable -- fixed to allow caching - aggregate collections (element collection) do not have a cache-key when being built, so protected aggregate collections will not work -- fixed for now by making element collections that have non-cacheable relationships as non-cacheable - aggregates (embeddables) were computing if they have non-cacheable mappings in initial, but non-cacheable is not set in mappings until postInitialize -- fixed to do both in initialize
also, - foreign key value were not cached for aggregates as the hasNonCacheableMappings check did not work, and the code was casting to ForeignReferenceMapping
Created attachment 203015 [details] patch for trunk for additional issues
Created attachment 203861 [details] small update to 2.3 based on feedback
checked in change above into 2.3 only- issue is addressed in trunk. This change adds some unit of work configuration.
Created attachment 204206 [details] 2.3 update for intermittent test failure
Created attachment 204388 [details] Larger patch to fix intermittent testing issue
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink