[ 
https://issues.apache.org/jira/browse/SLING-8187?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16725828#comment-16725828
 ] 

Julian Sedding commented on SLING-8187:
---------------------------------------

I created a PR. While I am confident that it improves the status-quo, I am not 
100% happy due to the following draw-back:

 
 * SlingServletResolver has a mandatory reference to SlingServletContext, thus 
deferring registration of SlingServletContext causes registration of 
SlingServletResolver
 * SlingRequestProcessor (via SlingMainServlet) has a dynamic optional 
reference to SlingServletResolver, but throws an exception causing a 503 
response while no SlingServletResolver is bound

--> thus the time-window for this 503 response increases with this fix - with 
the fix applied, I see it frequently if there are requests to my system during 
startup; without the fix I could not observe any.

 

 

> Deadlock in SlingMainServlet after SLING-8051
> ---------------------------------------------
>
>                 Key: SLING-8187
>                 URL: https://issues.apache.org/jira/browse/SLING-8187
>             Project: Sling
>          Issue Type: Improvement
>          Components: Engine
>    Affects Versions: Engine 2.6.16
>            Reporter: Julian Sedding
>            Assignee: Julian Sedding
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> The fix for SLING-8051 moved registration of the {{SlingServletContext}} 
> instance from {{SlingMainServlet#activate()}} to {{SlingMainServlet#init()}}. 
> It turns out that this can cause a deadlock due to Felix' global lock and a 
> synchronized block in Felix HTTP WhiteboardManager implementation.
> This issue is about finding a way to fix the issue originally described in 
> SLING-8051 without trisking a deadlock.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to