-
Notifications
You must be signed in to change notification settings - Fork 76
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
Object Version Replication - add the ability to replicate object versions. #7412
Object Version Replication - add the ability to replicate object versions. #7412
Conversation
af1ae61
to
f750c21
Compare
c088e34
to
b728f88
Compare
b728f88
to
c1c6f7e
Compare
b715189
to
2f448fa
Compare
f9934bb
to
d9c7742
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.
in general It looks ok to me, under the assumptions and the gaps mentioned in the PR. I still think @romayalon should also take a look as she knows much more in this area than me :)
1bfac0e
to
d7e9b63
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.
@Neon-White Thanks for reviewing. |
3ba699f
to
57bcb7f
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.
No major comments from my side
c110c41
to
5eae524
Compare
…ions. - Create config.BUCKET_DIFF_FOR_REPLICATION to determine if BucketDiff is in replication mode. - copy now get an object instead of keys and return an object instead of an array - copy_objects_mixed_types: - Will get objects instead of keys - Will return an object of num_of_objects and size_of_objects - if there is only one metadata per key, copy it as none version (even if there is a version) - If there is more than one metadata, copy all from the older to the newest, considering the versionID ### Replication Utils: - copy_objects will get objects instead of keys - Cleaned unused `get_object_md` and `check_data_or_md_changed` functions - Use BucketDiff for replication instead of the functions in the scanner, and remove the unused functions - Support Object versions replication - Fix the metrics to consume the new replay format. 1. will not copy the last version if the latest is a delete marker, in order to do so we will need to be were if there is versioning enabled (maybe add to the replication_api sync_version flag) Signed-off-by: liranmauda <liran.mauda@gmail.com>
5eae524
to
a7cc5b7
Compare
Explain the changes
Config.js:
Replication api:
Replication Server:
Replication Utils:
get_object_md
andcheck_data_or_md_changed
functionsReplication Scanner:
Gap
noobaa-core/src/server/bg_services/log_replication_scanner.js
Lines 209 to 220 in 0db21bb
Testing Instructions:
npx jest --testPathPattern="test_bucket_diff.test.js"
test_bucket_replication.js