Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
3.3.5
-
None
Description
Based on experience trying to debug this happening
- add debug statements when create() fails
- generated exception text to reference string shared with tests, path and error code
- generated exception to include inner exception for full stack trace
Currently the retry logic is
- create(overwrite=false)
- if HTTP_CONFLICT/409 raised; call HEAD
- use etag in create(path, overwrite=true, etag)
- special handling of error HTTP_PRECON_FAILED = 412
There's a race condition here, which is if between 1 and 2 the file which exists is deleted. The retry should succeed, but currently a 404 from the head is escalated to a failure
proposed changes
- if HEAD is 404, leave etag == null and continue
- special handling of 412 also to handle 409
Attachments
Issue Links
- links to