ICEfaces
  1. ICEfaces
  2. ICE-4675

Close Response should be send when receiving a Ping while ICEfaces ID is still valid but has no Views associated to it

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.8.1
    • Fix Version/s: 1.8.2-RC1, 1.8.2
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      ICEfaces Core

      Description

      Upon closing a browser window/tab a dispose-views request is send by the Bridge to the Core in order to clean-up the View structure. As a Bridge instance can have multiple connections to the Core and uses the Heartbeat mechanism to check the connection health, it could happen that a ping and a dispose-views are received by the Core out of order: dispose-views and then ping. When the ping is handled the associated View structure has already been cleaned up. As a result no response was send to the ping request and due to the Thread Blocking environment the thread got blocked and never got unblocked as the ping request is a non-blocking request.

      Basically, when a Ping request is received while it's ICEfaces ID is still valid but has no Views associated to it it should send back a Close response. Currently it does not send back anything causing it to be in a blockUntilRespond state, which it cannot get out of as it is a non-blocking Ping request.

        Activity

        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Ken Fyten made changes -
        Fix Version/s 1.8.2-RC1 [ 10210 ]
        Jack Van Ooststroom made changes -
        Link This issue duplicates ICE-4650 [ ICE-4650 ]
        Jack Van Ooststroom made changes -
        Salesforce Case []
        Description When a Ping request is received while its ICEfaces ID is still valid but has no Views associated to it it should send back a Close response. Currently it does not send back anything causing it to be in a blockUntilRespond state, which it cannot get out of as it is a Ping request. Upon closing a browser window/tab a dispose-views request is send by the Bridge to the Core in order to clean-up the View structure. As a Bridge instance can have multiple connections to the Core and uses the Heartbeat mechanism to check the connection health, it could happen that a ping and a dispose-views are received by the Core out of order: dispose-views and then ping. When the ping is handled the associated View structure has already been cleaned up. As a result no response was send to the ping request and due to the Thread Blocking environment the thread got blocked and never got unblocked as the ping request is a non-blocking request.

        Basically, when a Ping request is received while it's ICEfaces ID is still valid but has no Views associated to it it should send back a Close response. Currently it does not send back anything causing it to be in a blockUntilRespond state, which it cannot get out of as it is a non-blocking Ping request.
        Jack Van Ooststroom made changes -
        Status In Progress [ 3 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Jack Van Ooststroom made changes -
        Link This issue duplicates ICE-4650 [ ICE-4650 ]
        Jack Van Ooststroom made changes -
        Status Open [ 1 ] In Progress [ 3 ]
        Jack Van Ooststroom made changes -
        Salesforce Case []
        Fix Version/s 1.8.2 [ 10190 ]
        Jack Van Ooststroom made changes -
        Field Original Value New Value
        Assignee Jack Van Ooststroom [ jack.van.ooststroom ]
        Jack Van Ooststroom created issue -

          People

          • Assignee:
            Jack Van Ooststroom
            Reporter:
            Jack Van Ooststroom
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: