[Feature] CLI: Single-pass upload (hash + dedup + upload) instead of reading files twice #27977
abo-chen
started this conversation in
Feature Request
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
I have searched the existing feature requests, both open and closed, to make sure this is not a duplicate request.
The feature
Currently, the immich upload CLI reads all files twice during a single upload session:
For large libraries (e.g., 1TB+ with 100k+ files), this effectively doubles the I/O time. On my setup, hashing 1TB takes ~5 hours, and the upload adds another significant chunk of time — much of which is re-reading the same files from disk.
Proposed solution:
Merge the three phases into a single streaming pipeline:
For each batch of N files:
This way each file is read at most once (hash + upload in the same pass), or twice only for non-duplicates that need uploading.
Benefits:
Environment:
Platform
All reactions