-
Notifications
You must be signed in to change notification settings - Fork 5
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
Task for automatic garbage collection of unused documents and views #500
Conversation
Codecov ReportPatch and project coverage have no change.
Additional details and impacted files@@ Coverage Diff @@
## development #500 +/- ##
============================================
Coverage 92.05% 92.05%
============================================
Files 104 104
Lines 16629 16629
============================================
Hits 15308 15308
Misses 1321 1321 ☔ View full report in Codecov by Sentry. |
More PostgreSQL woes.... this time it doesn't like how we do triggers, it wants us to define a function, but SQLite doesn't do functions.... |
02f9cc1
to
4a4bb40
Compare
4a4bb40
to
2c35f30
Compare
* development: Make sure `/tmp` directory does not run out of scope before application ends (#557) Integrate `Bytes` value (#554) Stream blob data in chunks to files to not occupy too much memory (#551) Blobs directory configuration (#549) Use correct MAX_BLOB_PIECE_LENGTH from p2panda_rs Build a byte buffer over paginated pieces when assembling blobs (#547) HTTP routes to serve files with correct content type and etag headers (#544) Task for automatic garbage collection of unused documents and views (#500) Refactor tmp blob dir creation after rebase Fix after rebase "blob" materializer task (#493) Add static file server to `http` service (#483) Enable deletion of dangling `document_views` and related `document_view_fields` from db (#491) BlobStore for retrieving raw blob data from the db (#484)
i think this PR is made up of just 10% actual new code and 90% tests.....
Introduces a new "garbage_collection" task to the materializer service. It is concerned with two different connected but discreet functions:
The purging only occurs for blobs, but this functionality could be re-used in the future to handle other kind of "dependent" documents which should only be kept alive when related to by other documents.
One point to note is that no rows are removed from the
logs
table as we still need to block off used log ids.Next steps:
📋 Checklist
CHANGELOG.md