[Bug 996151] Re: disable apt http pipelining in quantal
David Kalnischkies
996151 at bugs.launchpad.net
Fri May 3 09:59:24 UTC 2013
> A much better suggestion would be to detect a proxy during install
(most proxies add headers to their reply) and drop a pipeline depth
config into /etc/apt/apt.conf.d/ ... Or perhaps not pipeline the first
request and look for a proxy in the reply, then turn it on.
Its a bit unfair to disable it for all proxies (and as said I am not
even sure squid is still fully buggy) - and after all S3 and the other
"dumb storage" entities which triggered this are not proxies, so we
would gain nothing – and they seem to be in no way interested to follow
a standard because they are "the cloud" and "the cloud rulez": "Hey,
there is a + in the URI, that must be a space!" …
Looking just at the first response from the server is not going to work
as we are frequently lucky enough to get the expected response just by
chance. I can find frequent reports that reducing the Pipeline-Depth to
2 makes it work "all the time" (which is not too surprising, but still
fails once in a blue moon).
I guess our only option is to check the hashsum of the file in the
methods already (we calculate them there, so we "just" have to tell them
what to expect), so that on a mismatch we can see if another file we
requested in the pipeline matches the hashsum and if so do a data
shuffle and disable pipelining for this server in this run (in the hope
that it will be fixed soon - or in fear that a different one will answer
our request next time).
That is quiet a bit of work though and not only on the code, but also on
the test front – and has very ugly corner cases (partial downloads, …)
just to work around the problems in "the cloud" … (I should just have
grown some balls and tell the world "<censored>!! Fix Pipelining
<censored>!" I guess, but I am so weak, I even censor myself …)
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to apt in Ubuntu.
https://bugs.launchpad.net/bugs/996151
Title:
disable apt http pipelining in quantal
Status in “apt” package in Ubuntu:
Fix Released
Status in “apt” package in Debian:
New
Bug description:
Per UDS session on Apt improvements, it has been proposed to remove
apt http pipelining
The reasons:
1. HTTP Pipelining has issue with certain proxy implementation
2. Some new object stores, like S3, or Google's APT repositories have problems with HTTP Pipelining
Running a test shows that disabling apt-pipelining has no perceptable
diffferenvce, and disabling apt pipeling actually performed slightly
better with an average of 31.899s versuses 32.456s. I tested an "apt-
get -y update" with and without apt HTTP pipelining turned on.
For more information on apt-pipelining, here are 2 threads to read:
http://old.nabble.com/APT-do-not-work-with-Squid-as-a-proxy-because-of-pipelining-default-td28579596.html
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=565555
Pipelining on (apt-get -y upgrade):
33.92
31.37
31.64
31.63
33.29
33.08
32.92
32.88
31.73
31.98
32.01
32.96
31.51
32.68
33.25
Pipelining off (apt-get -o Acquire::http::Pipeline-Depth="0" -y upgrade):
31.66
31.59
31.24
31.30
31.29
32.85
32.75
31.50
31.18
32.26
31.43
33.28
31.67
32.45
32.04
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/996151/+subscriptions
More information about the foundations-bugs
mailing list