1. tyrus
  2. TYRUS-229

Session#setMaxIdleTimeout() will kill the session whether or not the session actually timed out


    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.0-b05, 1.0-b06, 1.0-b07, 1.0-b08, 1.0-b09, 1.0-b10, 1.0-b11, 1.0-b12, 1.0-b13, 1.0-b14, 1.0-rc1, 1.0-rc2, 1.0-rc3, 1.0-rc4, 1.0, 1.1, 1.2, 1.2.1
    • Fix Version/s: 1.3
    • Component/s: None
    • Labels:
    • Environment:

      Windows 8 x64, GlassFish 4


      If you on the server side, grab the websocket session object from the @OnOpen method and call Session#setMaxIdleTimeout() using any number, when that time has passed Tyrus will forcefully close the session whether he actually timed out or not.

      To test this, I registered a pong message handler who logged each time we received a pong. It showed that Internet Explorer (10), is the only browser who will send us a pong from time to time. Yet, this browser too will be affected by the aforementioned problem. Furthermore, I setup a scheduled timer to programmatically ping the client endpoint using RemoteEndpoint#sendPing(). That made all the browsers reply with a ping. However, as soon as the time passed that we had sent as an argument to the Session#setMaxIdleTimeout() method, Tyrus closed all sessions despite them being provably not idle.


        martinandersson.com created issue -
        Pavel Bucek made changes -
        Field Original Value New Value
        Original Estimate 3 days [ 259200 ]
        Remaining Estimate 3 days [ 259200 ]
        Pavel Bucek made changes -
        Assignee stepan.kopriva [ stepan.kopriva ]
        stepan.kopriva made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 1.3 [ 16600 ]
        Resolution Fixed [ 1 ]


          • Assignee:
          • Votes:
            0 Vote for this issue
            0 Start watching this issue


            • Created: