-
-
Notifications
You must be signed in to change notification settings - Fork 327
Implement Store.move #3021
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Implement Store.move #3021
Conversation
I don't think this can be meaningfully implemented by any other Stores. Maybe it shouldn't be a method in the abstract class, but purely a concrete implementation for the Stores that can do it efficiently. In a real world scenario, moving a cloud Store could take days, cost thousands of dollars and fail. People wouldn't want to run this kind of operation in this way. |
good point! @paraseba |
To deal with @paraseba's concerns, I feel like an batch IO operation that takes more than 30s should probably have some checkpointing / retry logic, and maybe it shouldn't even execute immediately (so that a user can inspect the transfer plan, run it later in the program, etc). But we could ship a feature without that logic. Then we are basically forcing large-scale users to invent their own solutions to the inevitable case when the last file (out of 100000) fails to copy. The upside is that the people copying small, local stores have something they can use sooner rather than later. I'm not sure which side of the tradeoff I prefer right now. |
That would be an extremely useful thing, I have wanted that to exist many times, but only if I can use it confidently across different stores. That would mean it needs checkpointing, retrying, restarting, progress feedback, etc. So it goes beyond what we should implement in a store. In particular, being part of the Regarding the name, I think I don't think we should implement |
agreed! |
This PR implements a move method for stores. This only affects stores that contain a path. afaics thats:
(maybe FsspecStore)Am I missing one?
Maybe, this PR could also implement moving the content from one store to a new one of a different type e.g.
TODO:
docs/user-guide/*.rst
changes/