ZK doesn't remove a desktop after not receiving pong from a browser for a ping interval

XMLWordPrintable

    • Type: Bug
    • Resolution: Won't Fix
    • Priority: Blocker
    • None
    • Affects Version/s: 9.6.3
    • Component/s: None
    • None
    • None

      Steps to Reproduce

      1. enable WebSocket
      2. configure a desktop init, cleanup listener like the attached one
      3. visit any zul to create a desktop
      4. open chrome developer tool > Network tab > throttling, set "offline"
      5. reload the current page, chrome will show "No internet" (leave the zk page to simulate not-sending rmDesktop)
      6. wait for 30s, dump server heap with visualvm, check Desktop object

      Current Result

      • one desktop still exists
      • DesktopCleanup.cleanup() is not called

      Expected Result

      the desktop is removed after a ping interval timeout

      Debug Information

      • when you change to offline, zk calls WebSocketEndPoint.close() and cancel _pingIntervalSchedule
      • this bug simulates the case that a browser doesn't send rmDesktop for any reason

            Assignee:
            jumperchen
            Reporter:
            hawk
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: