ICEpush
  1. ICEpush
  2. PUSH-22

new client side created push ids will not be in current long poll

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Alpha2
    • Fix Version/s: 2.0-Alpha3
    • Component/s: None
    • Labels:
      None
    • Environment:
      All
    • Workaround Exists:
      Yes
    • Workaround Description:
      Hide
      Create a global push group that all clients are automatically assigned to and push to this group before adding another callback. Pushing to this group will effectively mean that any outstanding long poll will be killed on the server side via a notification to the dummy group.
      Show
      Create a global push group that all clients are automatically assigned to and push to this group before adding another callback. Pushing to this group will effectively mean that any outstanding long poll will be killed on the server side via a notification to the dummy group.

      Description

      This is an inherent problem with the current push protocol. To summarize imagine the following scenario:

      a clientside application (GWT or pure JS) initializes and creates a push id. A group and callback are added to this id and a long poll is started. This poll will last X seconds (for simplicity lets assume 50s).

      Now, 5 seconds later a new push id is needed with a new group and callback. The listen.icepush call is still outstanding (45 seconds to go) and it has already provided a list of push ids as post data. Thus the client will not receive any push updates to the newly created push id for another 45 seconds (when the next poll is started and the push id is listed in the post data of the next request.).

      Not sure what the best solution to this problem is- two come to mind:

      1.) kill the oustanding request if a new push id is registered to a callback

      2.) update the protocol to not require the push ids as post data in the listen.icepush call.

        Activity

        Patrick Wilson created issue -
        Patrick Wilson made changes -
        Field Original Value New Value
        Assignee Ken Fyten [ ken.fyten ]
        Ken Fyten made changes -
        Assignee Priority P2
        Assignee Ken Fyten [ ken.fyten ] Mircea Toma [ mircea.toma ]
        Ken Fyten made changes -
        Fix Version/s 1.0-Alpha3 [ 10224 ]
        Affects Version/s 1.0-Alpha2 [ 10223 ]
        Patrick Wilson made changes -
        Workaround Description no workaround for this problem that I can think-off. Create a global push group that all clients are automatically assigned to and push to this group before adding another callback. Pushing to this group will effectively mean that any outstanding long poll will be killed on the server side via a notification to the dummy group.
        Workaround Exists [Yes]
        Mircea Toma made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Assignee Priority P2

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Patrick Wilson
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: