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: dev@tomcat.apache.org
          Reporter: anmalys...@mail.ru

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: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to