1
mirror of https://github.com/rclone/rclone synced 2024-11-05 01:42:31 +01:00
rclone/fstest
Maxwell Calman 9cc8ff4dd4 chunker: partially implement no-rename transactions (#4675)
Some storage providers e.g. S3 don't have an efficient rename operation.
Before this change, when chunker finished an upload, the server-side copy
and delete operations that renamed temporary chunks to their final names
could take a significant amount of time.
This PR records transaction identifier (versioning) in the metadata of
chunker composite objects striving to remove the need for rename
operations on such backends.
This approach will be triggered be the new "transactions" configuration
option, which can be "rename" (the default) or "norename".
We implement the new approach for uploads (Put operations).
The chunker Move operation still uses the rename operation of
underlying backend. Filling this gap is left for a later PR.

Co-authored-by: Ivan Andreev <ivandeex@gmail.com>
2021-02-28 10:49:17 +00:00
..
fstests fstests: only test with ASCII uppercase for case insensitive tests 2021-01-27 14:28:17 +00:00
mockdir build: fix up package paths after repo move 2019-07-28 18:47:38 +01:00
mockfs test: Add context to mockfs.NewFs #3257 #4685 2020-11-09 18:05:54 +00:00
mockobject fstest: add ability for mock objects and filesystems to have hashes 2020-06-30 12:01:36 +01:00
test_all chunker: partially implement no-rename transactions (#4675) 2021-02-28 10:49:17 +00:00
testserver docker.bash: work correctly with multi-ip containers (#5028) 2021-02-17 03:38:02 +03:00
testy testy: test utility functions 2020-06-15 21:34:37 +01:00
fstest.go fs: deglobalise the config #4685 2020-11-26 16:40:12 +00:00
run.go fs: add context.Context to fs.GetModifyWindow #3257 #4685 2020-11-09 18:05:54 +00:00