[Libreoffice] Check for updates uses keep-alive / impacts the server (opengrok, tinderbox..)
Christian Lohmaier
lohmaier+libreoffice at googlemail.com
Sun Jan 15 15:43:49 PST 2012
Hi *,
as there have been complaints lately that tinderbox server and also
opengrok are unresponsive despite the server not seeing any CPU load
or memory constraints, I thought that maybe the newly activated
check-for-updates is to blame here, and indeed it is:
Capturing the dialog with wireshark shows:
GET /check.php?pkgfmt=rpm HTTP/1.1
Keep-Alive:
Connection: TE, Keep-Alive
TE: trailers
Host: update.libreoffice.org
Accept-Encoding: gzip
Pragma: no-cache
Accept-Language: de
User-Agent: LOdev 3.5 (e40af8c-10029e3-615e522-88673a2-727f724; Linux;
X86_64; BundledLanguages=en-US)
So it uses Keep-Alive, despite only doing one single request and
doesn't close the connection afterwards either.
As the server is configured with keep-alive enabled, and a rather
short amount of simultaneous clients, the requests pile up during busy
periods of the day and the whole thing becomes unresponsive.
As the regular outcome of a check-for-updates is only one single
response from the update server, LO should issue the request either as
plain HTTP/1.0 (that doesn't know keep-alive), or add "Connection:
close" to the header parameters to indicate that the connection should
be closed after the server did send its reply.
Please consider this as stopper for upcomping versions.
(the "Connection" field is fishy anyway, HTTP 1.1 only specifies one
token, and that token being "close" (
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.10 ), so
not sure what "TE" does here - "Keep-Alive:" while mentioned in RFC
2068 also doesn't make any sense without also providing a parameter,
but as keep-alive is not desired here at all...)
ciao
Christian
More information about the LibreOffice
mailing list