Comments (1)
Wont fix.
I was reimplementing aws sync
with plain boto3 and I can say I understand why aws sync
does not do this. The only way to prevent re-upload:
1. Keep in-memory what files are present locally and then what files are on S3
2. Do a big diff on paths and metadata to deduce what has been changed
This is a very expensive process, and given that we expect our users to use Nimbo with datasets that could potentially have millions of files - undesirable.
aws mv
could indeed do a move, but we would still need to do a diff to deduce when to use aws mv
.
As a workaround, it might be worth providing a utility to rename part of the path from Nimbo CLI. If we get more issues with renaming, we'll add it. If you have a specific use-case where you are frequently renaming directories, and this issue was not a one-off, let us know.
EDIT: I did a back of the envelope calculation that 100,000,000 file_names would only take about 1GB RAM, and given the current re-implementation of S3 push/pull actually loads all differences in memory, this is possible, and is going to be addressed with #32.
from nimbo.
Related Issues (20)
- Group CLI help options HOT 1
- Automatically create instance keys
- Bash and Zsh command autocompletion HOT 2
- Package Nimbo for apt and brew
- Allow naming / describing instances
- Nimbo instance alerts HOT 1
- nimbo unable to read pem key 'load pubkey "mykey.pem": invalid format' HOT 5
- issue creating spot instances HOT 11
- Frequent results sync in remote_setup.sh causes temporary cached files to be uploaded HOT 1
- Migrate from AWSCLI v1 to v2 HOT 1
- DryRun handling is inconsistent, a lot of repeated code
- Improve testing
- Add Continuous Integration
- Improve printing
- Replace AWSCLI usage with boto3 implementation
- AWS Credential errors HOT 6
- Changing nimbo-config.yml name HOT 7
- Nimbo fails to connect via SSH / Port 22 while terminal session succeeds HOT 5
- Docker support (as alternative to conda) HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nimbo.