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.