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
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.