ICEpush
  1. ICEpush
  2. PUSH-365

blocking connection lease expired...candidate for its creation console logs shown on loop

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-4.0.0.GA, EE-3.3.0.GA_P03
    • Fix Version/s: 4.1, EE-3.3.0.GA_P04
    • Component/s: Push Library
    • Labels:
      None
    • Environment:
      All

      Description

      When using two windows that share the same session, after doing a redirect navigation to a new page the following is logged in the browser console every second:

      [icepush.07d83.async-connection] [Fri, 31 Jul 2015 13:02:31 GMT] blocking connection lease expired...candidate for its creation
      [icepush.07d83.async-connection] [Fri, 31 Jul 2015 13:02:32 GMT] blocking connection lease expired...candidate for its creation

      The only way to resolve this loop is to close the other browser tab.
      1. Case13508ExampleWAR.zip
        9.09 MB
        Arran Mccullough
      2. Case13508Example.zip
        20 kB
        Arran Mccullough
      1. Capture.PNG
        61 kB

        Activity

        Hide
        Arran Mccullough added a comment -

        Attached test case that shows this issue.

        Steps:

        • Load lftest2.jsf in a browser.
        • Open the browsers console
        • In IE11, use File -> Duplicate Tab or In Firefox, copy the URL to a new tab,
        • Make sure the console is open in each window.
        • Click the "lftest redirect" button and observe the logs.
        • It might take a few tries of clicking the redirect button in each window before the logs begin to appear.
        • Once the logs are shown, close the other tab and they should stop.
        Show
        Arran Mccullough added a comment - Attached test case that shows this issue. Steps: Load lftest2.jsf in a browser. Open the browsers console In IE11, use File -> Duplicate Tab or In Firefox, copy the URL to a new tab, Make sure the console is open in each window. Click the "lftest redirect" button and observe the logs. It might take a few tries of clicking the redirect button in each window before the logs begin to appear. Once the logs are shown, close the other tab and they should stop.
        Hide
        Mircea Toma added a comment -

        Modified connection.async.js code to offer blocking connection ownership candidature with a delay thus giving a chance to one of the windows to win the ownership. Previously multiple windows will offer their candidature but none will see itself wining in the next polling loop.
        Also part of the interval is randomized to decrease the chance of collision within the polling interval (1000ms).

        Show
        Mircea Toma added a comment - Modified connection.async.js code to offer blocking connection ownership candidature with a delay thus giving a chance to one of the windows to win the ownership. Previously multiple windows will offer their candidature but none will see itself wining in the next polling loop. Also part of the interval is randomized to decrease the chance of collision within the polling interval (1000ms).
        Hide
        Carmen Cristurean added a comment -

        Verified using attached test case with IF4 trunk r45829/ EE-3.3.0-maintenance branch r45829 on IE11, Chrome43, FF34.

        On Firefox, when clicking the "lftest redirect" button on one tab, in the other tab a post request is being reported as aborted in Firebug, screen shot attached. Not an issue in Chrome or IE11. Is this an issue?

        Show
        Carmen Cristurean added a comment - Verified using attached test case with IF4 trunk r45829/ EE-3.3.0-maintenance branch r45829 on IE11, Chrome43, FF34. On Firefox, when clicking the "lftest redirect" button on one tab, in the other tab a post request is being reported as aborted in Firebug, screen shot attached. Not an issue in Chrome or IE11. Is this an issue?
        Hide
        Mircea Toma added a comment -

        It looks like that in Chrome the candidatures for owning the blocking connection have a higher chance of collision. Also the blocking connection lease is not renewed at the right time.

        Show
        Mircea Toma added a comment - It looks like that in Chrome the candidatures for owning the blocking connection have a higher chance of collision. Also the blocking connection lease is not renewed at the right time.
        Hide
        Mircea Toma added a comment -

        Increased candidature offering entropy to better avoid collisions in Chrome. Adjust the maximum candidature delay to be half the lease interval to avoid having the lease updated after it just expired.

        Show
        Mircea Toma added a comment - Increased candidature offering entropy to better avoid collisions in Chrome. Adjust the maximum candidature delay to be half the lease interval to avoid having the lease updated after it just expired.

          People

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

            Dates

            • Created:
              Updated:
              Resolved: