ICEpush
  1. ICEpush
  2. PUSH-45

Graceful degradation of Push in a multi-push application environment

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Alpha2
    • Fix Version/s: 2.0-Alpha3
    • Component/s: Push Library
    • Labels:
      None
    • Environment:
      browser

      Description

      In the open-source version of ICEpush, only a single, active push application is supported. If there are multiple-push apps running on the same server, only one application can successfully use push. We need to ensure that in this scenario that we gracefully degrade the applications that don't get push access. We should also consider logging information that describes that the degradation has occurred and why. We can also consider providing something on the client side that indicates what is happening. This could present an opportunity to point out that moving to the enterprise version of ICEpush would solve the problem.

        Activity

        Mircea Toma created issue -
        Hide
        Mircea Toma added a comment -

        The algorithm should assign the connection to the most recent one as determined by some metric.

        Show
        Mircea Toma added a comment - The algorithm should assign the connection to the most recent one as determined by some metric.
        Mircea Toma made changes -
        Field Original Value New Value
        Assignee Mircea Toma [ mircea.toma ]
        Mircea Toma made changes -
        Fix Version/s 1.0-Alpha3 [ 10224 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #20790 Wed Feb 24 17:48:40 MST 2010 mircea.toma PUSH-45 Configure bridge with context path. Start new blocking connection when page belonging to a different context is loaded.
        Files Changed
        Commit graph MODIFY /scratchpads/snowplow/core/src/main/java/org/icepush/CodeServer.java
        Commit graph MODIFY /projects/bridge-support/src/main/javascript/http.js
        Commit graph MODIFY /scratchpads/snowplow/core/src/main/javascript/connection.async.js
        Commit graph MODIFY /scratchpads/snowplow/core/src/main/java/org/icepush/servlet/MainServlet.java
        Hide
        Mircea Toma added a comment -

        Each bridge instance (within a window) is now configured with the context path it was loaded from. Also a cookie was introduced to hold the context path of the bridge instance that owns the blocking connection. This way when a page is loaded from a different context the loading bridge can detect that the context path does not match and force the re-creation of the blocking connection to the new context. A INFO message is logged describing the reason why the connection was recreated.

        Show
        Mircea Toma added a comment - Each bridge instance (within a window) is now configured with the context path it was loaded from. Also a cookie was introduced to hold the context path of the bridge instance that owns the blocking connection. This way when a page is loaded from a different context the loading bridge can detect that the context path does not match and force the re-creation of the blocking connection to the new context. A INFO message is logged describing the reason why the connection was recreated.
        Mircea Toma made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

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

            Dates

            • Created:
              Updated:
              Resolved: