-
Notifications
You must be signed in to change notification settings - Fork 0
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
Add local disk cache for remote data chunks #99
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…Podman - change Ansible collection from community.docker to containers.podman - update all Ansible tasks to use podman instead of docker, we install podman-docker for a docker compatible CLI but we need to be podman specific in our Ansible playbook - move group_vars/reductionist -> group_vars/all so all "reductionist_" prefixed vars can be used across plays, specifically Step and Reductionist - update documentation
…ged user account that'll be running the Reductionist, and any other, containers. We need linger enabled for the podman process to continue running after the user's logged out of the session. Deployment documentation updated.
Reductionist can be used with https, either with the optional Ansible playbook Step deployment or with third party certificates. Documentation updated for installation of 3rd party certificates.
* the on disk path to the cache * the TTL of cache entries * whether a cache hit refreshes the chunk's TTL
sd109
commented
Feb 27, 2025
Features: * configure a maximum size for the cache * pruned periodically so expired entries are purged and the cache files deleted * pruning removes excess files, that haven't yet expired, to keep within configured maximum cache size
…ctionist by using the ChunkCache object as an interfacing wrapper for ActiveStorageError. Currently loads and saves state to disk, rather than keeping in memory, which could be a future performance improvement.
sd109
commented
Mar 10, 2025
…he operation handler deciding which to use based on app settings. Ideally move the decision even further up registering one S3 download handler in the shared state, the actual one used being based on app settings. This would allow a http handler to be registered in the same way. Proves "fun" with the lifetime of objects.
Change tests over to temporary directories so they'll never fail due to an existing directory.
Remove explicit cache wipe on exit, only used for test and not needed for temporary directories.
… coming from requests in a multi-threaded async API. This protects the cache from concurrent access and the request that downloaded the chunk doesn't have to wait for it to be committed to the cache before it can be returned to the client.
…nks based on ttl.
sd109
commented
Mar 17, 2025
sd109
commented
Mar 17, 2025
…will fit into the cache after it is pruned, we'll use this to ensure the chunk we're adding can be accomodated. Add associated tests.
… to a security issue with tempdir::TempDir.
Add Reductionist build configuration to group_vars/all to: - Specify the location of the repo - Disable cloning to the repo location, this is useful if the location already exists with changes that you don't want to lose
…the chunk cache enabled.
sd109
commented
Mar 25, 2025
maxstack
reviewed
Mar 25, 2025
sd109
commented
Apr 1, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
TODO: