You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Bertrand Delacretaz (JIRA)" <ji...@apache.org> on 2010/07/01 10:57:49 UTC
[jira] Created: (SLING-1580) SlingServletResolver registers OSGi
services from synchronized blocks
SlingServletResolver registers OSGi services from synchronized blocks
---------------------------------------------------------------------
Key: SLING-1580
URL: https://issues.apache.org/jira/browse/SLING-1580
Project: Sling
Issue Type: Bug
Components: Servlets
Affects Versions: Servlets Resolver 2.0.8
Reporter: Bertrand Delacretaz
Priority: Minor
The synchronized bindServlet method calls createServlet which in turns calls context.getBundleContext().registerService(...).
This means OSGi framework calls are done from a synchronized method, which can lead to deadlocks.
I think we can synchronize much less, it's probably just the changes to the servletsByReference and pendingServlets collections that need to be synchronized.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (SLING-1580) SlingServletResolver registers OSGi
services from synchronized blocks
Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SLING-1580?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Felix Meschberger closed SLING-1580.
------------------------------------
Closes issue after bundle release.
> SlingServletResolver registers OSGi services from synchronized blocks
> ---------------------------------------------------------------------
>
> Key: SLING-1580
> URL: https://issues.apache.org/jira/browse/SLING-1580
> Project: Sling
> Issue Type: Bug
> Components: Servlets
> Affects Versions: Servlets Resolver 2.0.8
> Reporter: Bertrand Delacretaz
> Assignee: Carsten Ziegeler
> Priority: Minor
> Fix For: Servlets Resolver 2.1.0
>
>
> The synchronized bindServlet method calls createServlet which in turns calls context.getBundleContext().registerService(...).
> This means OSGi framework calls are done from a synchronized method, which can lead to deadlocks.
> I think we can synchronize much less, it's probably just the changes to the servletsByReference and pendingServlets collections that need to be synchronized.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (SLING-1580) SlingServletResolver registers OSGi
services from synchronized blocks
Posted by "Carsten Ziegeler (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SLING-1580?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Carsten Ziegeler reassigned SLING-1580:
---------------------------------------
Assignee: Carsten Ziegeler
> SlingServletResolver registers OSGi services from synchronized blocks
> ---------------------------------------------------------------------
>
> Key: SLING-1580
> URL: https://issues.apache.org/jira/browse/SLING-1580
> Project: Sling
> Issue Type: Bug
> Components: Servlets
> Affects Versions: Servlets Resolver 2.0.8
> Reporter: Bertrand Delacretaz
> Assignee: Carsten Ziegeler
> Priority: Minor
> Fix For: Servlets Resolver 2.0.10
>
>
> The synchronized bindServlet method calls createServlet which in turns calls context.getBundleContext().registerService(...).
> This means OSGi framework calls are done from a synchronized method, which can lead to deadlocks.
> I think we can synchronize much less, it's probably just the changes to the servletsByReference and pendingServlets collections that need to be synchronized.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (SLING-1580) SlingServletResolver registers OSGi
services from synchronized blocks
Posted by "Carsten Ziegeler (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SLING-1580?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Carsten Ziegeler resolved SLING-1580.
-------------------------------------
Resolution: Fixed
I've reduced the sync blocks to protect just the calls to the array and map in revision 960592.
> SlingServletResolver registers OSGi services from synchronized blocks
> ---------------------------------------------------------------------
>
> Key: SLING-1580
> URL: https://issues.apache.org/jira/browse/SLING-1580
> Project: Sling
> Issue Type: Bug
> Components: Servlets
> Affects Versions: Servlets Resolver 2.0.8
> Reporter: Bertrand Delacretaz
> Assignee: Carsten Ziegeler
> Priority: Minor
> Fix For: Servlets Resolver 2.0.10
>
>
> The synchronized bindServlet method calls createServlet which in turns calls context.getBundleContext().registerService(...).
> This means OSGi framework calls are done from a synchronized method, which can lead to deadlocks.
> I think we can synchronize much less, it's probably just the changes to the servletsByReference and pendingServlets collections that need to be synchronized.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (SLING-1580) SlingServletResolver registers OSGi
services from synchronized blocks
Posted by "Carsten Ziegeler (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SLING-1580?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Carsten Ziegeler updated SLING-1580:
------------------------------------
Fix Version/s: Servlets Resolver 2.0.10
> SlingServletResolver registers OSGi services from synchronized blocks
> ---------------------------------------------------------------------
>
> Key: SLING-1580
> URL: https://issues.apache.org/jira/browse/SLING-1580
> Project: Sling
> Issue Type: Bug
> Components: Servlets
> Affects Versions: Servlets Resolver 2.0.8
> Reporter: Bertrand Delacretaz
> Assignee: Carsten Ziegeler
> Priority: Minor
> Fix For: Servlets Resolver 2.0.10
>
>
> The synchronized bindServlet method calls createServlet which in turns calls context.getBundleContext().registerService(...).
> This means OSGi framework calls are done from a synchronized method, which can lead to deadlocks.
> I think we can synchronize much less, it's probably just the changes to the servletsByReference and pendingServlets collections that need to be synchronized.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.