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

Feature: asynchronous garbage collector #516

Merged
merged 1 commit into from
Nov 3, 2023

Conversation

odesenfans
Copy link
Contributor

Problem: deleting files from the STORE message handler causes latency in the message processing pipeline when deleting large files.

Solution: delete files asynchronously. We now spawn a garbage collector task every 24 hours by default that will look at the list of files and delete files without pins.

This PR also introduces the concept of grace period pins: files without a tx or message pin can now be pinned for an arbitrary amount of time. This applies to files uploaded by users in unauthenticated mode and to files deleted by FORGET messages. The default is to give 24 hours of grace period for files.

Problem: deleting files from the STORE message handler causes latency in
the message processing pipeline when deleting large files.

Solution: delete files asynchronously. We now spawn a garbage collector
task every 24 hours by default that will look at the list of files and
delete files without pins.

This PR also introduces the concept of grace period pins: files without
a tx or message pin can now be pinned for an arbitrary amount of time.
This applies to files uploaded by users in unauthenticated mode and to
files deleted by FORGET messages. The default is to give 24 hours of grace
period for files.
@odesenfans odesenfans merged commit 29139b1 into dev Nov 3, 2023
2 checks passed
@odesenfans odesenfans deleted the od-async-garbage-collection branch November 3, 2023 11:36
hoh pushed a commit that referenced this pull request Dec 8, 2023
Problem: deleting files from the STORE message handler causes latency in
the message processing pipeline when deleting large files.

Solution: delete files asynchronously. We now spawn a garbage collector
task every 24 hours by default that will look at the list of files and
delete files without pins.

This PR also introduces the concept of grace period pins: files without
a tx or message pin can now be pinned for an arbitrary amount of time.
This applies to files uploaded by users in unauthenticated mode and to
files deleted by FORGET messages. The default is to give 24 hours of grace
period for files.
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