How to troubleshoot/fix DAV errors during SVN checkout

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

 

Our setup:

Subversion 1.10 on RHEL8 served by httpd 2.4

Reverse proxy httpd 2.4 on RHEL8

 

We’re seeing one or more failures/day during SVN checkout/updates.

There appear to be some variations on the error:

These are the logs on the SVN (backend) server

First type:

[dav:error] Provider encountered an error while streaming a REPORT response.  [500, #0]

[dav:error] A failure occurred while driving the update report editor  [500, #104]

[dav:error] Error writing base64 data: Connection reset by peer  [500, #104]

 

Second type:

[dav:error] Provider encountered an error while streaming a REPORT response.  [500, #0]

[dav:error] A failure occurred while driving the update report editor  [500, #32]

[dav:error] Error writing base64 data: Broken pipe  [500, #32]

 

Third:

[dav:error] Provider encountered an error while streaming a REPORT response.  [400, #0]

[dav:error] Broken pipe  [400, #32]

 

Fourth:

[dav:error] Provider encountered an error while streaming a REPORT response.  [400, #0]

[dav:error] Connection reset by peer  [400, #104]

 

Clients are both TortoiseSVN on Windows and Jenkins SVNkit on Windows and Linux.

 

Am I correct to assume that it is the client (or something between the client and the proxy server) that is breaking the connection? Or is this a problem on either of the apache servers?

 

In the error_log of the proxy server I see errors like:

[Thu Jan 14 06:42:01.647633 2021] [proxy_http:error] [pid 17204:tid 140412413015808] (104)Connection reset by peer: [client 192.168.x.y:38940] AH01102: error reading status line from remote server <backend SVN server>:443

 

For this error the following SO post (https://stackoverflow.com/a/64365796/1313616) suggests to add ` SetEnv proxy-initial-not-pooled 1` but https://httpd.apache.org/docs/2.4/mod/mod_proxy_http.html warns that this may downgrade performance.

 

But the timings of these errors do not match the dav:error error messages.

 

Clocks on both servers are synchronized via NTP.

 

How can I fix/troubleshoot this further?

I cannot reliably reproduce this on the dev server using a single large checkout.

I have found that when a lot of checkouts are triggered simultaneously the error happened. Whether that was because of the high load or simply because more checkouts increase the chance of running into the problem is not clear to me.

 

Thanks in advance

 

Bram


[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux