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

Rewrite persisted ops loader #114

Merged
merged 9 commits into from
Aug 12, 2024
Merged

Rewrite persisted ops loader #114

merged 9 commits into from
Aug 12, 2024

Conversation

ldebruijn
Copy link
Owner

Our initial strategy for loading persisted operations was flawed, mainly because of trying to use the local filesystem as a state store, requiring it to be consistent immediately after loading from a remote, and trying to read from local file storage right after.

This design was chosen in order to decouple local state from remote loading strategies, but this can be achieved in other ways.

This PR rewrites the loading behavior to use just the internal state in memory, and a loading strategy to append to it. This removes the dependency on the local file system for persisting this state, and simplifies the interactions for loading persisted operations.

Now, a single loader can be specified which currently are local, meaning files are read from the local file system. gcp meaning files are downloaded from a GCP bucket and loaded straight into the internal state, or noop meaning no files are loaded.

It also updates a number of metrics as well as the accompanying documentation

@ldebruijn ldebruijn merged commit 5ac2de8 into main Aug 12, 2024
4 checks passed
@ldebruijn ldebruijn deleted the rewrite-persisted-ops-loader branch August 12, 2024 11:18
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.

1 participant