Yum doesn't realise as it only
reads the specified number of bytes for its first request. It then
reuses the connection, sending another request. It reads the
previously buffer / unread data and see the error from the proxy. The
difference between yum 2.1 and 2.2 is that the particular files which
they try to read from closed sockets differ, probably because yum 2.1
reads mirror lists for repos its not using and yum 2.2 doesn't. Yum
2.1 only ever sees the failures on files it can and does re-try, so it
eventually succeeds. Where as as yum 2.2 sees the failures on getting
the mirror lists which it doesn't re-try so always fails.
This explanation suggests not using mirrorlist parameter and switching
back to baseurl instead as a possible work around for yum 2.2. I will
try this in a later.
With all this I have only done one or two tests with yum 2.2 specifying
proxy parameters in the configuration file. Results seem to indicate
that it just ignores these but don't count on this being the truth.
Excellent detective work!
I'd suggest raising a bug on yum for this, and/or contacting the author,
Seth Vidal <skvidal at phy dot duke dot edu>, who I've always found to
be very responsive.
Paul.