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

refactor(object-store): Refactor object store to fit into node framework #2138

Merged

Conversation

slowli
Copy link
Contributor

@slowli slowli commented Jun 4, 2024

What ❔

Refactors ObjectStore and ObjectStoreFactory to fit it into the node framework:

  • Consistently uses Arc<dyn ObjectStore> in DI
  • Clearly documents ObjectStoreFactory as one possible ObjectStore producer
  • Expose GCS, file-based and mock object stores directly and remove ability to create mock object stores from ObjectStoreFactory
  • Refactors retries as ObjectStore "middleware"

Why ❔

Currently, object store APIs don't fit into the node framework well, leading to suboptimal DevEx.

Checklist

  • PR title corresponds to the body of PR (we generate changelog entries from PRs).
  • Tests for the changes have been added / updated.
  • Documentation comments have been added / updated.
  • Code has been formatted via zk fmt and zk lint.
  • Spellcheck has been run via zk spellcheck.

@slowli slowli marked this pull request as ready for review June 4, 2024 16:21
popzxc
popzxc previously approved these changes Jun 5, 2024
core/lib/object_store/src/gcs.rs Outdated Show resolved Hide resolved
popzxc
popzxc previously approved these changes Jun 5, 2024
@slowli slowli enabled auto-merge June 5, 2024 11:43
@slowli slowli added this pull request to the merge queue Jun 5, 2024
Merged via the queue into main with commit 5c03964 Jun 5, 2024
52 checks passed
@slowli slowli deleted the aov-pla-961-refactor-object-store-to-fit-into-node-framework branch June 5, 2024 12:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants