← Back to team overview

launchpad-dev team mailing list archive

Re: disabling longpoll

 

On Sat, Feb 18, 2012 at 4:02 AM, Francis J. Lacoste
<francis.lacoste@xxxxxxxxxxxxx> wrote:
> On 12-02-16 07:45 PM, Robert Collins wrote:
>> On Fri, Feb 17, 2012 at 1:13 PM, Ian Booth <ian.booth@xxxxxxxxxxxxx> wrote:
>>> We've spent time developing it and it provides very much wanted
>>> functionality. I do hope that "disable" doesn't mean turn it off and
>>> delete in a few months once everyone forgets about it. There's already a
>>> large sunk cost in getting it this far, how much work is required to get
>>> it over the line? Is that something the maintenance squad could pick up?
>>
>> The LEP links to the bugs, you can have a read and make an assessment.
>>
>
> I can't find the LEP, but my recollection is that there is only one big
> problem which is user self-inflicted and thus could probably be marked
> Won't fix.

https://dev.launchpad.net/LEP/NotificationService

There are three criticals, none of which is user inflicted, there are
a number of highs, one of which we may be able to downgrade sensibly.

> https://bugs.launchpad.net/launchpad/+bug/906482
>
> The root issue is that any longpolling from JS makes it easy to get in
> the per-host (or even total) browser connection limits as each tab you
> have open has a long-standing open connection with the server.
>
> For example, Firefox maximum connection limits is 24. So after opening
> 24 tabs with a longpoll connection, the web should fail permenently for
> you, until you free those up.

It is much worse than that. The relevant key is
network.http.max-persistent-connections-per-server - which defaults to
6. 6 tabs that do long poll of any sort, and your browser hangs on
that domain.

> So either we accept that users won't be able to open multiple tabs
> anymore, or we drop the whole longpoll concepts altogether.

Not at all: there are solutions to the issue (note that the wildcard
approach just defers the problem - there is as you note a maximum
connection limit as well, and we don't want to reach that - OTOH we
don't need to aim for perfection). We should study what heavy ajax
apps like twitter, facebook and gmail do.

But - we need to either do, or not do, this project :)

-Rob


Follow ups

References