Bug 224902 - Two tests failed in concurrency comparison test model with 11g
Summary: Two tests failed in concurrency comparison test model with 11g
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Eclipselink (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Nobody - feel free to take it CLA
QA Contact:
URL:
Whiteboard: Fixed in 1.0M6
Keywords: performance
Depends on:
Blocks:
 
Reported: 2008-03-31 10:18 EDT by James Sutherland CLA
Modified: 2022-06-09 10:23 EDT (History)
1 user (show)

See Also:


Attachments
patch (20.21 KB, patch)
2008-03-31 11:00 EDT, James Sutherland CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description James Sutherland CLA 2008-03-31 10:18:51 EDT
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.
Comment 1 James Sutherland CLA 2008-03-31 10:20:34 EDT
Fixed
Comment 2 James Sutherland CLA 2008-03-31 10:27:10 EDT
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.
Comment 3 James Sutherland CLA 2008-03-31 11:00:12 EDT
Created attachment 94232 [details]
patch
Comment 4 Eclipse Webmaster CLA 2022-06-09 10:23:57 EDT
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink