felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Karl Pauls (JIRA)" <j...@apache.org>
Subject [jira] Commented: (FELIX-1746) Reduce contention on ServiceRegistry.getServiceReferences(String, Filter)
Date Tue, 13 Oct 2009 10:51:31 GMT

    [ https://issues.apache.org/jira/browse/FELIX-1746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12765031#action_12765031

Karl Pauls commented on FELIX-1746:

I had a look at your patch and I think it is not unreasonable at all. However, I think I have
a different solution that doesn't introduce new classes and has less potential to introduce
semantic  changes we might not want. Could you please try the attached patch (FELIX-1746-alt.patch)
and see whether that removes the contention equally well and let me know?

> Reduce contention on ServiceRegistry.getServiceReferences(String, Filter)
> -------------------------------------------------------------------------
>                 Key: FELIX-1746
>                 URL: https://issues.apache.org/jira/browse/FELIX-1746
>             Project: Felix
>          Issue Type: Improvement
>          Components: Framework
>    Affects Versions: felix-2.0.0
>            Reporter: Jed Wesley-Smith
>         Attachments: blocked-threads.gif.jpg, FELIX-1746-alt.patch, FELIX-1746.patch
> Performance testing has shown that there is significant contention on the ServiceRegistry
object's monitor during startup. This is caused by Spring DM making lots of calls to the synchronized
method ServiceRegistry.getServiceReferences(String, Filter). This method is synchronized in
order to protect the m_serviceRegsMap HashMap, but the method does a lot more work than simply
accessing the map.
> Propose changing the ServiceRegistry to use a thread-safe Map implementation that does
not require external synchronization, in particular a CopyOnWriteMap. I will add a patch that
includes a CopyOnWriteMap implementation.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message