Skip to content
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

Implement synchronization endpoints #190

Merged
merged 4 commits into from
Jul 28, 2023
Merged

Implement synchronization endpoints #190

merged 4 commits into from
Jul 28, 2023

Conversation

jujaga
Copy link
Member

@jujaga jujaga commented Jul 24, 2023

Description

This PR introduces and exposes the synchronization logic to the COMS API. We also implement a listAllObjectVersions storageService call in order to allow a more robust way of detecting, paginating and enumerating soft-deleted files.

SHOWCASE-3257

Types of changes

Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)

Checklist

  • I have read the CONTRIBUTING doc
  • I have checked that unit tests pass locally with my changes
  • I have added tests that prove my fix is effective or that my feature works
  • I have added necessary documentation (if appropriate)

Further comments

@jujaga jujaga added bug Something isn't working enhancement New feature or request labels Jul 24, 2023
@jujaga jujaga self-assigned this Jul 24, 2023
@jujaga jujaga changed the base branch from master to release/sync July 24, 2023 23:54
@github-actions
Copy link

Copy link
Contributor

@TimCsaky TimCsaky left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work.. nicely done

Signed-off-by: Jeremy Ho <jujaga@gmail.com>
Also fix some minor unit test issues

Signed-off-by: Jeremy Ho <jujaga@gmail.com>
Modify listAllObjects to default to empty string when path is only the
delimiter. This is needed as pattern matching does not handle the root '/'
context well.

Signed-off-by: Jeremy Ho <jujaga@gmail.com>
@jujaga jujaga force-pushed the feature/apisync branch 2 times, most recently from 00859ad to 8e57650 Compare July 26, 2023 23:58
@jujaga jujaga force-pushed the feature/apisync branch 2 times, most recently from 3b11cc5 to 6418f20 Compare July 27, 2023 17:49
In order to reduce code duplication, we reuse the syncBucket controller
with a few value tweaks so that it can handle both endpoint types. We also
move the sync* controller functions to the sync controller in order to
reduce controller pollution of the large object and bucket controllers, and
invoke these functions directly through the router instead. Lastly, some
database layer modifications are done in order to allow bucketId to accept
null fields.

Signed-off-by: Jeremy Ho <jujaga@gmail.com>
@TimCsaky TimCsaky merged commit 7341db7 into release/sync Jul 28, 2023
2 of 8 checks passed
@jujaga jujaga deleted the feature/apisync branch August 4, 2023 23:16
jujaga pushed a commit that referenced this pull request Aug 14, 2023
Implement synchronization endpoints
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants