You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Jed Wesley-Smith (JIRA)" <ji...@apache.org> on 2009/10/14 05:13:32 UTC

[jira] Updated: (FELIX-1746) Eliminate contention on ServiceRegistry.getServiceReferences(String, Filter)

     [ https://issues.apache.org/jira/browse/FELIX-1746?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jed Wesley-Smith updated FELIX-1746:
------------------------------------

    Summary: Eliminate contention on ServiceRegistry.getServiceReferences(String, Filter)  (was: Reduce contention on ServiceRegistry.getServiceReferences(String, Filter))

> Eliminate 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
>            Assignee: Karl Pauls
>         Attachments: blocked-threads.gif.jpg, FELIX-1746-alt.patch, FELIX-1746-alt2.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.