Page editor becomes unresponsive when editing pages
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. 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
Summary
Problem
The page editor or Confluence as a whole becomes unresponsive and the following appears in the atlassian-synchrony-proxy.log
1
ERROR c.a.s.p.w.WebSocketProxy:49 afterConnectionEstablished - Handshake error
The following appears in catalina.out
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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:
Solution
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
Go to
> General Configuration > Collaborative editing.
Choose Change mode.
Select "Limited" and choose Change.
ℹ️ Synchrony can also be changed to "Off" mode, but any shared drafts will become unavailable while in "Off" mode.
See How Do Drafts Work on Confluence for more information
Please open a support request if further assistance or help diagnosing the is needed.
Was this helpful?