You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2020/04/20 20:35:00 UTC

[jira] [Commented] (WICKET-6767) Do not log error for broken pipes in websocket connections

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

ASF subversion and git services commented on WICKET-6767:
---------------------------------------------------------

Commit 6c8a8341bf04f5c5e579697cabc2eb8590cf337f in wicket's branch refs/heads/wicket-8.x from Martin Tzvetanov Grigorov
[ https://gitbox.apache.org/repos/asf?p=wicket.git;h=6c8a834 ]

WICKET-6767 Do not log error for broken pipes in websocket connections

(cherry picked from commit 096eccb400304a11ec13a47b436c1fdb7dad49a0)


> Do not log error for broken pipes in websocket connections
> ----------------------------------------------------------
>
>                 Key: WICKET-6767
>                 URL: https://issues.apache.org/jira/browse/WICKET-6767
>             Project: Wicket
>          Issue Type: Improvement
>          Components: wicket-native-websocket
>    Affects Versions: 9.0.0-M4
>            Reporter: Thomas Heigl
>            Assignee: Martin Tzvetanov Grigorov
>            Priority: Major
>
> We had some "IOException: Broken pipe" errors on production:
> {code:java}
>  Apr 10 14:34:26  ERR o.a.w.p.w.j.WicketEndpoint An error occurred in web socket connection with id : f2d
>  Apr 10 14:34:26  #011java.io.IOException java.io.IOException: Broken pipe
>  Apr 10 14:34:26  #011at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:315)
>  Apr 10 14:34:26  #011at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:258)
>  Apr 10 14:34:26  #011at org.apache.tomcat.websocket.WsSession.sendCloseMessage(WsSession.java:612)
>  Apr 10 14:34:26  #011at org.apache.tomcat.websocket.WsSession.onClose(WsSession.java:532)
>  Apr 10 14:34:26  #011at org.apache.tomcat.websocket.WsFrameBase.processDataControl(WsFrameBase.java:347)
>  Apr 10 14:34:26  #011at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:289)
>  Apr 10 14:34:26  #011at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:133)
>  Apr 10 14:34:26  #011at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:82)
>  Apr 10 14:34:26  #011at org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:171)
>  Apr 10 14:34:26  #011at org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:151)
>  Apr 10 14:34:26  #011at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:148)
>  Apr 10 14:34:26  #011at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54)
>  Apr 10 14:34:26  #011at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:59)
>  Apr 10 14:34:26  #011at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
>  Apr 10 14:34:26  #011at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1594)
>  Apr 10 14:34:26  #011at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>  Apr 10 14:34:26  #011at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>  Apr 10 14:34:26  #011at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>  Apr 10 14:34:26  #011at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>  Apr 10 14:34:26  #011at java.base/java.lang.Thread.run(Thread.java:834)
>  Apr 10 14:34:26  #011Caused by: java.io.IOException: Broken pipe 
> {code}
> There already is condition that checks for EOFException in WicketEndpoint. Maybe it could be extended to broken pipes?
> {code}
> 	@Override
> 	public void onError(Session session, Throwable t)
> 	{
> 		if (t instanceof EOFException)
> 		{
> 			LOG.debug("An error occurred in web socket connection with id : {}", session.getId(), t);
> 		}
> 		else
> 		{
> 			LOG.error("An error occurred in web socket connection with id : {}", session.getId(), t);
> 		}
> 	}
> {code}
> My only option at the moment is to completely turn off logging for WicketEndpoint.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)