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
Support Case References:Support Case #13508 - https://icesoft.my.salesforce.com/5007000001JEiOU
[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.
- Remote Attachments
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).
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?
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.
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.
Attached test case that shows this issue.