Fix bug so that sync verify works with gzip correctly #107
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, if you try to
sync
files withverify: true
andgzip: true
, it compares the md5 of the gzipped remote file with the non-gzipped local file, so the hashes never match.So if the local file is newer,
sync
will always upload, regardless of whether the content changed. For example, when a cron runs every minute and writes out a data file, it will always be uploaded to S3 even if the content is the same as the remote file.This fixes the problem by just gzipping the local file before getting the md5 hash, assuming
gzip: true
. It could be more efficient by caching the gzipped file and using it for upload later. In practice, even uploading 100+ files, it still takes just a second or two, the same as before.