Commit Graph

2303 Commits

Author SHA1 Message Date
Patrick McManus
083437c9ff bug 717759 - negative pipeline feedback on img decode problem r=bz r=jdrew r=honzab 2012-03-22 19:39:32 -04:00
Patrick McManus
31504a7ee5 bug 717350 doom cache entry on last-modified mismatch r=honzab 2012-03-22 19:39:31 -04:00
Patrick McManus
bd0154c665 bug 671591 - restart partial http transaction (in progress) r=honzab 2012-03-22 19:39:31 -04:00
Patrick McManus
cca184acac bug 603514 - http stalled read detection r=honzab
When a connection that involves a pipelined transaction has been stalled (i.e.
idle with an open transaction, not an idle persistent connection) for a
second move any transactions that are pipelined after the current one onto
different connections (and implicitly close this connection when done with the
current transaction).

when it has been stalled for 10 seconds (pref configurable), cancel the current
transaction itself too - depending on its state it can hopefully be restarted
on a clean connection.
2012-03-22 19:39:31 -04:00
Patrick McManus
f5c0c33db7 bug 603512 - large objects block pipelines r=honzab
the type and state patch tries hard not to form pipelines behind resources that
could become head of line blockers. But of course that requires the ability to
predict the future, and won't be perfect.

This patch reacts to a transaction that has a large response body (defined by
either a large content-length header or actually reading a large number of
chunked bytes) by cancelling any transactions that have been pipelined down the
same connection and rescheduling them elsewhere. It also changes the type of
the connection to "solo", which prevents new transactions from being pipelined
onto this one and provides class-specific negative feedback to the pipeline
manager so that near-future requests to the same host of the same type (e.g.
general) will not be pipelined but other types (e.g. img or js/css) can still
do that.

Content-Length is ideal, because it allows us to identify the problem so early.
But even actually reading the document for a fairly long time gives it a fairly
high probability of not ending soon. (i.e. long document sizes are spread over
a larger range than small ones. duh.)

The pref network.http.pipelining.maxsize controls the threshold. I set the
default at 300KB, which is roughly the bandwidth delay product of a 2mbit 120ms
rtt connection and 1 rtt is mostly what you are giving up by canceling it on
one connection and sending it on another. (modulo maybe needing a handshake).
2012-03-22 19:39:31 -04:00
Patrick McManus
a034a9d50a bug 665885 respect keepalive: "max=" attribute r=honzab 2012-03-22 19:39:31 -04:00
Patrick McManus
8d78fbf9c8 bug 737155 - httpconnectionmgr::processPendingQ allow more than 1 with pipeline r=honzab 2012-03-22 19:39:31 -04:00
Patrick McManus
15a48d8534 bug 599164 pipeline with type and state r=honzab 2012-03-22 19:39:31 -04:00
Patrick McManus
bba26f5a30 bug 597684 Implement HTTP Assoc-req and Banned Pipelines on nsHttpConnectionInfo r=honzab 2012-03-22 19:39:31 -04:00
Patrick McManus
afefeddb70 bug 447866 http pipelining is bursty r=honzab
--HG--
extra : rebase_source : 87370228074eaff2615b8dcef9b3c0c9b919b3c3
2012-03-22 19:39:31 -04:00
Patrick McManus
10d7ced8a4 bug 447866 - patch pre.1 for empty nsHttpPipeline::TakeSubTransactions r=honzab
--HG--
extra : rebase_source : 5c21007525883fc74dc70332cf74d8d0bacd9147
2012-03-22 19:39:28 -04:00
Michal Novotny
2e1c0f11ff Bug 722033 - Invalidate cache entry in nsHttpChannel::DoInvalidateCacheEntry() asynchronously 2012-03-22 23:54:20 +01:00
Michal Novotny
90373c46db Bug 722033 - Use asyncOpenCacheEntry() in nsHttpChannel::OpenOfflineCacheEntryForWriting() 2012-03-22 23:53:55 +01:00
Michal Novotny
59959982fc Bug 722033 - Use asyncOpenCacheEntry() in nsHttpChannel when flag LOAD_BYPASS_LOCAL_CACHE_IF_BUSY is set 2012-03-22 23:53:10 +01:00
Henri Sivonen
3dfb9fb844 Bug 737417 part 1 - Split charset source constants out of nsIParser.h. r=smaug. 2012-03-22 16:42:42 +02:00
Jim Mathies
4c2a25f437 Bug 737986 - win8 dev kit fixup for win wifi includes, r=dougt 2012-03-22 09:18:43 -05:00
julian.reschke@gmx.de
2cf0629cb1 Bug 714302: add suport for HTTP status code 308 r=mcmanus
--HG--
extra : rebase_source : 2e4a46ac5ebe89a36fb4b12b1985d07d674db5e8
2012-03-21 16:13:42 -04:00
julian.reschke@gmx.de
db53688a39 Bug 384571: RFC 2231 parameters not decoded when appearing in reversed order. r=jduell 2012-03-20 14:08:30 -07:00
Matt Brubeck
b1e708752d Back out 1bbe7ea3a01e through 672cc4ee2dd9 because of mochitest-browser-chrome leaks 2012-03-20 12:53:10 -07:00
Patrick McManus
e9dedc0c35 bug 717759 - negative pipeline feedback on img decode problem r=bz r=jdrew r=honzab
--HG--
extra : rebase_source : cb9795b5442102a777602f59c225ab9572e06cea
2012-03-20 13:11:32 -04:00
Patrick McManus
ace7949788 bug 717350 doom cache entry on last-modified mismatch r=honzab
--HG--
extra : rebase_source : 5c8692c94bf7e5dcb2d381a85e06bddbabffe22c
2012-03-20 13:11:32 -04:00
Patrick McManus
87998226b0 bug 671591 - restart partial http transaction (in progress) r=honzab
--HG--
extra : rebase_source : 9f71e1803e25c10f6be5f48f324eb47fa8d707c3
2012-03-20 13:11:32 -04:00
Patrick McManus
e691465ad1 bug 603514 - http stalled read detection r=honzab
When a connection that involves a pipelined transaction has been stalled (i.e.
idle with an open transaction, not an idle persistent connection) for a
second move any transactions that are pipelined after the current one onto
different connections (and implicitly close this connection when done with the
current transaction).

when it has been stalled for 10 seconds (pref configurable), cancel the current
transaction itself too - depending on its state it can hopefully be restarted
on a clean connection.

--HG--
extra : rebase_source : 58377c9eab2f8a81b7a2d3b9a5f12e1134da4031
2012-03-20 13:11:32 -04:00
Patrick McManus
feb108ee8d bug 603512 - large objects block pipelines r=honzab
the type and state patch tries hard not to form pipelines behind resources that
could become head of line blockers. But of course that requires the ability to
predict the future, and won't be perfect.

This patch reacts to a transaction that has a large response body (defined by
either a large content-length header or actually reading a large number of
chunked bytes) by cancelling any transactions that have been pipelined down the
same connection and rescheduling them elsewhere. It also changes the type of
the connection to "solo", which prevents new transactions from being pipelined
onto this one and provides class-specific negative feedback to the pipeline
manager so that near-future requests to the same host of the same type (e.g.
general) will not be pipelined but other types (e.g. img or js/css) can still
do that.

Content-Length is ideal, because it allows us to identify the problem so early.
But even actually reading the document for a fairly long time gives it a fairly
high probability of not ending soon. (i.e. long document sizes are spread over
a larger range than small ones. duh.)

The pref network.http.pipelining.maxsize controls the threshold. I set the
default at 300KB, which is roughly the bandwidth delay product of a 2mbit 120ms
rtt connection and 1 rtt is mostly what you are giving up by canceling it on
one connection and sending it on another. (modulo maybe needing a handshake).

--HG--
extra : rebase_source : ebc44f8dfc3fa7bcee613ff3b74269d908ceac51
2012-03-20 13:11:32 -04:00
Patrick McManus
f9d6e896ee bug 665885 respect keepalive: "max=" attribute r=honzab
--HG--
extra : rebase_source : ce4009c19bb786388338778d594ca8038a4398c1
2012-03-20 13:11:32 -04:00
Patrick McManus
800ed54ae5 bug 737155 - httpconnectionmgr::processPendingQ allow more than 1 with pipeline r=honzab
--HG--
extra : rebase_source : 94c50c125fc66c9d5b4389e20b0187ee40c2e315
2012-03-20 13:11:32 -04:00
Patrick McManus
85224929d2 bug 599164 pipeline with type and state r=honzab
--HG--
extra : rebase_source : b060665a1726eab3e3ef0ab0d94c34cfea5c1460
2012-03-20 13:11:32 -04:00
Patrick McManus
7200e2b607 bug 597684 Implement HTTP Assoc-req and Banned Pipelines on nsHttpConnectionInfo r=honzab
--HG--
extra : rebase_source : 26243e1af9e0554553520dae435cc4dcfd551746
2012-03-20 13:11:32 -04:00
Patrick McManus
00fcb68cbc bug 447866 http pipelining is bursty r=honzab
--HG--
extra : rebase_source : e927c5961b2f6c79c1aa73897900e95ed3f286c5
2012-03-20 13:11:32 -04:00
Gervase Markham
e9f63d2669 Bug 716607 - Add .pm, .wf, .yt to PSL. r=pkasting. 2012-03-20 15:04:40 +00:00
Phil Ringnalda
532bb57e36 Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-03-17 16:57:05 -07:00
Chris Jones
df8ec0c99c Bug 736778: Work around probable compiler bug breaking DEBUG builds of GonkCaptureProvider. r=fabrice (npotb) 2012-03-17 14:42:24 -07:00
Jason Duell
2f5f7cb248 Backed out changeset cd5ac132e763 2012-03-15 23:36:01 -07:00
Jason Duell
9e91c23e8d Backed out changeset cd5ac132e763 2012-03-15 23:35:51 -07:00
Jason Duell
2b5c96846d Backed out changeset 5aaec7f808b6 2012-03-15 20:56:23 -07:00
Jason Duell
e1a70438bd Backed out changeset 5aaec7f808b6 2012-03-15 20:55:44 -07:00
John Daggett
47ad96505d Bug 512566. Changes based on review comments. r=bz,jfkthame 2012-03-16 12:31:01 +09:00
John Daggett
914cbcc71a Bug 512566. Load font data url's synchronously, netwerk/style changes. r=bz 2012-03-16 12:31:01 +09:00
Jason Duell
6ddc2df4a6 Bug 664163: I will back this out when xpcshell test_traceable.js fails eventually. r=jduell 2012-03-15 18:54:58 -07:00
julian.reschke@gmx.de
ee67bebbe2 Bug 384571: RFC 2231 parameters not decoded when appearing in reversed order r=jduell 2012-03-04 14:12:00 -08:00
Jason Duell
2823d113a3 Bug 648878 - I will backout: investigating inbound-only failure r=jduell 2012-03-15 13:00:20 -07:00
Jason Duell
406a6ac98a Backed out c9265ada6f40 2012-03-15 15:05:41 -07:00
Jason Duell
6d25ca614d Backed out changeset c9265ada6f40 2012-03-15 15:05:22 -07:00
Derrick Rice
a921c7c6cf Bug 732363 - Avoid running test_net_addr on windows; it is failing for unknown reasons (race?) r=jdm 2012-03-15 07:10:00 -04:00
Patrick McManus
4465abacbf bug 735552 - wrong assert on shutdown in nsHttpConnectionMgr::ReportSpdyConnection r=honzab
--HG--
extra : rebase_source : 8baf5fbae8d9ad8196fd699191c0013f7ea8f424
2012-03-15 00:03:04 -04:00
Phil Ringnalda
57a4a15d09 Back out 9899522b6ad9 (bug 664163) 2012-03-13 22:11:55 -07:00
Jason Duell
60a0003b1e Bug 664163: Yes this will get backed out: see bug. r=jdm 2012-03-13 18:46:30 -07:00
Jason Duell
d595edfb04 Backed out changeset fd30aea30b03 2012-03-13 15:12:46 -07:00
Jason Duell
90a9174f19 Backed out changeset fd30aea30b03 2012-03-13 15:10:01 -07:00
Daniel Holbert
e0c3342eeb Bug 621446: followup to investigation patch - wrap MSVC-only pragma in ifdef so other compilers don't complain about it. r=jduell 2012-03-13 14:57:28 -07:00