Skip to content

docs(cloud-sync): troubleshooting for WebDAV HTTP -1 failures - #1186

Open
Crinlorite wants to merge 1 commit into
libretro:masterfrom
Crinlorite:webdav-keepalive-troubleshooting
Open

docs(cloud-sync): troubleshooting for WebDAV HTTP -1 failures#1186
Crinlorite wants to merge 1 commit into
libretro:masterfrom
Crinlorite:webdav-keepalive-troubleshooting

Conversation

@Crinlorite

Copy link
Copy Markdown

Adds a troubleshooting entry for WebDAV Cloud Sync reporting
Cloud Sync finished with failures while every file actually reaches the
server.

The frontend logs HTTP -1 for some transfers because the response could not
be read, while the server's access log shows those same requests completing
normally (201/204, and 405 for MKCOL on a collection that already
exists). This happens when a pooled connection is reused after the server has
closed it — Apache's default KeepAliveTimeout is 5 seconds, which a sync with
many files easily exceeds.

The entry documents the server-side workaround for Apache:

BrowserMatch "libretro" nokeepalive downgrade-1.0 force-response-1.0

and notes that a failed manifest upload leaves the local manifest stale, which
surfaces as spurious Conflicting change of ... on the next sync — so fixing
the first usually clears the second too.

Reported in libretro/RetroArch#19457 with the frontend and server logs side by
side.

…on reuse

Adds a troubleshooting entry for the case where Cloud Sync reports
"finished with failures" while every file actually reaches the server.

The frontend logs HTTP -1 for some transfers because the response could
not be read, while the server's access log shows the same requests
completing with 201/204 (and 405 for MKCOL on an existing collection).
This happens when a pooled connection is reused after the server closed
it; Apache's default KeepAliveTimeout is 5 seconds.

Documents the server-side workaround (BrowserMatch nokeepalive for the
libretro user agent) and notes that a failed manifest upload leaves the
local manifest stale, which surfaces as spurious conflicts on the next
sync.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant