More intelligent blockstore garbage collection
Open
need/community-input
status/deferred
- Dominant language
- Go
- Stars
- 17.1k
- Forks
- 3.2k
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 11
Description
Type: Feature
Area: Blockstore, Pin
Description:
The current garbage collector deletes all un-pinned blocks. This makes the system more fragile, as people don't usually pin a lot of objects. And if I have configured my node to keep up to 10GB of data I would also expect it to keep close to that limit at all times.
One solution is to delete blocks at random until the disk usage falls below the threshold limit. But blocks could also be deleted based on supply and demand, or when they were last accessed.
The current garbage collector uses a mark-and-sweep algorithm, but another option would be to use reference-counting, and I think that is better.
Contributor guide
Assessment
This issue has not been assessed yet.