https://bz.apache.org/bugzilla/show_bug.cgi?id=58647
Bug ID: 58647
Summary: After blocking write timeout occurs,
WsRemoteEndpointImplBase remains in
BINARY_PARTIAL_WRITING state.
Product: Tomcat 8
Version: 8.0.28
Hardware: PC
Status: NEW
Severity: normal
Priority: P2
Component: WebSocket
Assignee: [email protected]
Reporter: [email protected]
We're using Tomcat WebSocket implementation for our product. We're using
partial writing feature. Everything works as expected until any issue happens
during write (TimeoutException, for example). After this happens -
WsRemoteEndpointImplBase remains in BINARY_PARTIAL_WRITING state and we can't
write anything to this WS connection anymore. Following exception thrown in
case we try:
java.lang.IllegalStateException: The remote endpoint was in state
[BINARY_PARTIAL_WRITING] which is an invalid state for called method
at
org.apache.tomcat.websocket.WsRemoteEndpointImplBase$StateMachine.checkState(WsRemoteEndpointImplBase.java:1148)
at
org.apache.tomcat.websocket.WsRemoteEndpointImplBase$StateMachine.binaryPartialStart(WsRemoteEndpointImplBase.java:1096)
at
org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendPartialBytes(WsRemoteEndpointImplBase.java:162)
at
org.apache.tomcat.websocket.WsRemoteEndpointBasic.sendBinary(WsRemoteEndpointBasic.java:56)
at
com.avaya.acc.wcs.transport.websocket.impl.WsClientOutbound.writeBytes(WsClientOutbound.java:48)
Sometimes timeout means that connection is terminated, but in other cases it
would be useful to retry writing - which is not possible because of this state
issue.
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]