duplicacy
duplicacy copied to clipboard
Retry instead of hard fail on HTTP 400 (Wasabi)
Hello, I'm using Wasabi as a backend and it occasionally spits out an HTTP 400. Duplicacy doesn't seem to handle this case properly. Every time this issue occurs, reuploading the same fileset succeeds without the same error. This usually happens on large files (300+GB) but I've seen it occur with smaller files also.
If you need me to grab log files etc. next time this happens, please let me know exactly what you need.
Failed to upload the chunk fafce86d27c2f33342afae8205f74fdff1303de46d6e8439786a59ba53753427: XAmzContentSHA256Mismatch: The provided 'x-amz-content-sha256' header does not match what was computed. status code: 400, request id: 508B0B904E4B4B56, host id: 9mBP1Lwq+QWEM2m3KIRBNJl4j45qnFkI8xhctxQPkSstUNjE1MGcm5oZgtKah3cuN9veFUT/yNxM
According to Danny at the duplicacy.com forum this is likely to be caused by an old aws-sdk-go version: https://duplicacy.com/issue?id=5666823336886272. I also checked in https://github.com/gilbertchen/duplicacy/commit/8808ad5c28ada2562ce6baf6504e7935a527f166 to retry on this error. The 2.0.9 build should include both the latest aws-skd-go and https://github.com/gilbertchen/duplicacy/commit/8808ad5c28ada2562ce6baf6504e7935a527f166.
Using a fresh build as of a couple days ago (dfdbfed) I've been struggling with aborted backups caused by a dodgy network. I was hoping Duplicacy would be more robust in the face of transient network errors.
Example of failure causing an abort:
Failed to upload the chunk cad4ec0bc8059b413326d3e029c7935923d98c60868c0ecf42feabafe2db292b: RequestTimeout: Your socket connection to the server was not read from or written to within the timeout period.
status code: 400, request id: DA6C1BDE2511695B, host id: pJj8nVnN3m+nPBAFMahcr1nn/xcP1x7JziLPOQQ5jVSqau4GUFhP1QzZCUvYrjgnauZdsHCO2EWw
Also:
Failed to upload the chunk 9561ba5b8044b896554ea8f8a583fc39ad709a8f7f513cc8e162c6702d7d29dc: RequestError: send request failed
caused by: Put https://redacted.s3.wasabisys.com/chunks/95/61ba5b8044b896554ea8f8a583fc39ad709a8f7f513cc8e162c6702d7d29dc: dial tcp 38.27.106.15:443: i/o timeout
I have this problem too and was hoping there might be an option to have Duplicacy retry a couple of times before giving up. Does anyone have any tips on how to make this happen?