Community
Participate
Working Groups
Two tests failed in concurrency comparison test model with TopLink 11g. - ReadAllInUOW - AddPhoneCached Most other tests were improved quite a bit, which surprized me as there isn't a whole lot different between the two. Perhaps the improvment was from switching to the JDK ConcurrentMap, or from removing the deprecated and somed dead code. ReadAllInUOW seems to be failing because of the switch to the JDK ConcurrentMap, so now locking on putIfAbsent. Switching the identitymap to use a get then a put fixed the issue. I have no idea why AddPhoneCached is failing, but it is consistent. The non-cached version passes, so it is related to the cache locks. The profiles look the same, so I am giving up. The profile seem to show more time spent in the cloning locks, but this code does not seem to have changed.
Fixed
Changes: - Changed getCacheKeyPutIfAbsent in identity maps to first do a get, then a putIfAbsent, to avoid concurrency bottleneck on put lock if in the cache. - Did some micro optimizations in identity maps access. - Removed dead put method from IdentityMaps. - Added finally to FetchGroupManager change events disable block. - Fixed foundation test script for typo and to use security manager property. - Switched test result database as starteam is down.
Created attachment 94232 [details] patch
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink