[
https://issues.apache.org/jira/browse/OPENJPA-250?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12727793#action_12727793
]
Simon Droscher edited comment on OPENJPA-250 at 7/6/09 2:44 PM:
----------------------------------------------------------------
We found that caching performance hits a bottleneck with threads blocking on
MetaDataRepository.getMetaData(). The changes in this issue looked to be the
kind of thing that would help, but the original patch was for OpenJPA 0.9.x and
a lot has changed in the code since then. Much of the patch was getting rid of
classes in the org.apache.openjpa.lib.util.concurrent package and using
edu.emory.mathcs.backport.java.util.concurrent classes instead. This looks to
have been done at some other time in the code, using the standard
java.util.concurrent package instead.
So I went through all the code affected by the original patch and made similar
changes as appropriate, basically changing a lot of synchronized methods to use
blocks that lock and unlock using the ReentrantReadWriteLock() and
ReentrantLock() classes.
The resultant patch file is attached. This was found to give a much more
scalable performance, we no longer have threads blocked on
MetaDataRepository.getMetaData().
was (Author: sdroscher):
Patch file for OpenJPA 1.2.1 based on original patch for OPENJPA-250
> Reduce synchronization bottlenecks in data cache, metadata repository, and
> lifecycle event manager
> --------------------------------------------------------------------------------------------------
>
> Key: OPENJPA-250
> URL: https://issues.apache.org/jira/browse/OPENJPA-250
> Project: OpenJPA
> Issue Type: Improvement
> Components: build / infrastructure, datacache, jdbc, kernel, lib,
> query
> Affects Versions: 0.9.0, 0.9.6, 0.9.7
> Reporter: Patrick Linskey
> Attachments: OPENJPA-250.patch, sync-121.patch
>
>
> Parts of the data cache, metadata repository, and lifecycle event manager are
> over-synchcronized. This should be resolved.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.