-
Notifications
You must be signed in to change notification settings - Fork 101
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
Compress the snapshots(full as well as Incremental) before uploading to object store and decompress the snapshot before restoration. #293
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR @ishan16696! It is looking good. Some small suggestions.
Also, could you please add some tests to cover the compression cases. Especially, for restoration in the mixed case (mixing of uncompressed and compressed backups with different algo)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A small comment about the logging time. I think we can simply rely on existing time logging for download or upload which would be enough. No additional logging time for compression is required. We can still log that we are compressing/uncompressing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the changes. Once you have added the tests for the mixed case for restoration, this PR is good to be merged.
e884b30
to
fd0486e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ishan16696 Thanks a lot for the well-written PR. Overall, code looks fine. I will test it out in the morning. Other than that, I have some minor code-related concerns/suggestions. Please address them. Thanks.
Also, please document your findings about compression and decompression (time taken, size reduction ratio, etc) for the different algorithms, so that it can serve as a reference point for someone new to compression and wanting to choose a suitable algorithm for running etcdbr.
983d977
to
7fb4588
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ishan16696 Thanks a lot for the changes and also the tests. The PR is now looking good. Just some final comments below.
406989a
to
e27e10b
Compare
Thanks @ishan16696 for the test case and the changes. I have only a few remaining questions.
|
e27e10b
to
5a972e8
Compare
5a972e8
to
cd72e0f
Compare
there is boolean variable here by which we can configure either to take fullSnapshot or deltaSnapshot.
I am also not so sure .... but
done |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the changes @ishan16696! LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ishan16696 Thanks for making all the changes. LGTM 👍🏼
What this PR does / why we need it:
This PR added the compression/decompression feature. So, it compress/decompress the snapshots(full as well as Incremental) before/after uploading/downloading to/from object store.
It also supports the backward compatibility for restoring from non-compressed snapshots as well as when different compressionPolicy were used to take the snapshot.
Which issue(s) this PR fixes:
Fixes #255
Special notes for your reviewer:
Release note: