The corresponding errors:
16:12:01.825140 http.c:690 <= Recv header: remote: Counting objects: 8957, done remote: Finding sources: 100% (8957/8957) remote: Getting sizes: 100% (7335/7335) remote: Compressing objects: 99% (93223/93224)
On Gerrit server side we have 38 seconds later:
[2021-10-08T16:12:39.410Z] [HTTP POST /r/mediawiki/core.git/git-upload-pack (N/A from )] WARN org.eclipse.jetty.server.handler.ContextHandler.r : Internal error during upload-pack from /srv/gerrit/git/mediawiki/core.git
Which is Gerrit hitting httpd.idleTimeout = 30s.
In Apache 5 minutes later:
[Fri Oct 08 16:17:12.854086 2021] [proxy_http:error] [pid 28634:tid 139644410783488] (70008)Partial results are valid but processing is incomplete: [client x.x.x.x:16503] AH01110: error reading response
And finally a second later on the client side we end up with:
16:17:13.944725 http.c:731 == Info: TLSv1.2 (IN), TLS alert, close notify (256): 16:17:13.944745 http.c:731 == Info: transfer closed with outstanding read data remaining 16:17:13.944760 http.c:731 == Info: Closing connection 0 16:17:13.944787 http.c:731 == Info: TLSv1.2 (OUT), TLS alert, close notify (256): error: RPC failed; curl 18 transfer closed with outstanding read data remaining fatal: the remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed
So it is two bug:
- the httpd idletimeout is reached which might be jgit taking too long to generate the pack file to be send?
- Apache should abort the connection earlier?