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

Felix Meschberger commented on SLING-1815:
------------------------------------------

There is an exception catch overkill in the 
SlingRequestProcessorImpl.processRequest method: The method declares to throw 
IOException and the SlingMainServlet.service method in fact catches IOException 
and properly handles any SocketException.

The problem is that the processRequestMethod catches any IOException thrown 
during request processing in a catch(Throwable) and logs this situation. 
Instead, the IOException should be caught and forward.

> Improve error handling of "broken pipe" socket exceptions
> ---------------------------------------------------------
>
>                 Key: SLING-1815
>                 URL: https://issues.apache.org/jira/browse/SLING-1815
>             Project: Sling
>          Issue Type: Bug
>          Components: Engine
>    Affects Versions: Engine 2.0.2, Engine 2.0.4, Engine 2.0.6, Engine 2.1.0
>            Reporter: Alexander Klimetschek
>            Assignee: Felix Meschberger
>            Priority: Minor
>         Attachments: broken-pipe-stacktraces.txt
>
>
> If the client (browser) kills the socket connection mid-request, one gets 
> broken pipe exception stack traces, exactly three of them (see attachment). 
> The problem is that the error handling doesn't work on them, as the response 
> is already written, and you always get three stacktraces:
> 1) original exception log
> Uncaught Throwable java.net.SocketException: Broken pipe
> 2) error handling fails due to response already transmitted
> Calling the error handler resulted in an error 
> java.lang.IllegalStateException: OutputStream already retrieved
> 3) error handling logs original exception again
> Original error class java.net.SocketException java.net.SocketException: 
> Broken pipe
> A single warn "broken pipe" would probably be enough (it's not a server 
> fault).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to