Page editor becomes unresponsive when editing pages

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Problem

The page editor or Confluence as a whole becomes unresponsive and the following appears in the atlassian-synchrony-proxy.log

ERROR c.a.s.p.w.WebSocketProxy:49 afterConnectionEstablished - Handshake error

The following appears in catalina.out

SEVERE [http-nio-8090-exec-41] org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator.afterConnectionClosed Unhandled error for ExceptionWebSocketHandlerDecorator [delegate=LoggingWebSocketHandlerDecorator [delegate=PerConnectionWebSocketHandlerProxy[handlerType=class com.atlassian.synchrony.proxy.websocket.WebSocketProxy]]]
 java.util.concurrent.TimeoutException
	at java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1771)
	at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1915)
	at com.atlassian.synchrony.proxy.websocket.WebSocketUpstreamHandler.getSynchronySession(WebSocketUpstreamHandler.java:64)
	at com.atlassian.synchrony.proxy.websocket.WebSocketProxy.tryCloseRemoteSession(WebSocketProxy.java:94)
	at com.atlassian.synchrony.proxy.websocket.WebSocketProxy.afterConnectionClosed(WebSocketProxy.java:78)
	at org.springframework.web.socket.handler.PerConnectionWebSocketHandler.afterConnectionClosed(PerConnectionWebSocketHandler.java:97)
	at org.springframework.web.socket.handler.WebSocketHandlerDecorator.afterConnectionClosed(WebSocketHandlerDecorator.java:85)
	at org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator.afterConnectionClosed(LoggingWebSocketHandlerDecorator.java:72)
	at org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator.afterConnectionClosed(ExceptionWebSocketHandlerDecorator.java:78)
	at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.onClose(StandardWebSocketHandlerAdapter.java:141)
	at org.apache.tomcat.websocket.WsSession.fireEndpointOnClose(WsSession.java:535)
	at org.apache.tomcat.websocket.WsSession.doClose(WsSession.java:481)
	at org.apache.tomcat.websocket.WsSession.close(WsSession.java:445)
	at org.springframework.web.socket.adapter.standard.StandardWebSocketSession.closeInternal(StandardWebSocketSession.java:217)
	at org.springframework.web.socket.adapter.AbstractWebSocketSession.close(AbstractWebSocketSession.java:140)
	at org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator.tryCloseWithError(ExceptionWebSocketHandlerDecorator.java:94)
	at org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator.afterConnectionEstablished(ExceptionWebSocketHandlerDecorator.java:51)
	at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.onOpen(StandardWebSocketHandlerAdapter.java:100)
	at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.init(WsHttpUpgradeHandler.java:133)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:816)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)

Diagnosis

Environment

  • Confluence Server 6.x

  • Collaborative Editing is enabled

Cause

This issue is caused by websockets session being terminated during or after the handshake, leaving the session open on the server when it's not actually connected to the client. 

Some environments such as those that use an F5 Load Balancer may encounter as described as in the following articles:

However this is not limited to one specific vendor and is exacerbated by Confluence not detecting and closing these connections. 

A product bug has been opened to determine how to fix the root cause of the problem:

CONFSERVER-58217 - Getting issue details... STATUS

Resolution

This issue is fixed in Confluence 7.0.1.  You should upgrade to Confluence 7.0 or later. 

Workaround 

If you're unable to upgrade to Confluence 7.0 or later, a temporary workaround is to switch Synchrony into "Limited" mode.

Follow the steps below to perform the workaround (if Confluence is unresponsive, perform a restart before proceeding).

  • The Administering Collaborative Editing article describes how to change Synchrony's operating modes

    1. Go to  > General Configuration > Collaborative editing
    2. Choose Change mode.
    3. Select "Limited" and choose Change

(info) Synchrony can also be changed to "Off" mode, but any shared drafts will become unavailable while in "Off" mode. 

Please open a support request if further assistance or help diagnosing the is needed. 

DescriptionPage editor becomes unresponsive when editing pages due to websockets problem with Synchrony and F5 load balancers
ProductConfluence Server



Last modified on Apr 6, 2020

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.