audit store gc code #206

Open
opened 2024-04-01 23:59:28 +00:00 by pennae · 2 comments
Owner

the store gc code is known for deleting more than it should[citation needed], and in any case probably does not implement proper mark&sweep scanning (either not correctly, or not at all). doing this properly without risking collecting too much probably needs hooking into fsnotify, temporarily enabling atime, or other such fun things.

the store gc code is known for deleting more than it should\[citation needed], and in any case probably does not implement proper mark&sweep scanning (either not correctly, or not at all). doing this properly without risking collecting too much probably needs hooking into fsnotify, temporarily enabling atime, or other such fun things.
Owner

I also sometimes have the opposite problem where it's not deleting enough. In other words, even when I remove all the relevant GC roots for a path it still won't get deleted even if nix-store --gc --print-roots ${PATH_I_WANT_TO_DELETE} produces an empty output.

I also sometimes have the opposite problem where it's not deleting enough. In other words, even when I remove all the relevant GC roots for a path it still won't get deleted even if `nix-store --gc --print-roots ${PATH_I_WANT_TO_DELETE}` produces an empty output.
Author
Owner

that's a somewhat related but entirely different problem. hopefully that can be solved by not using an sqlite database as the ground source of truth on path liveness when the paths themseleves are right there. (we should be using xattrs or similar instead to store this kind of metadata and use the sqlite db only as cache.)

that's a somewhat related but entirely different problem. hopefully *that* can be solved by not using an sqlite database as the ground source of truth on path liveness when the paths themseleves are *right there*. (we should be using xattrs or similar instead to store this kind of metadata and use the sqlite db only as cache.)
jade added the
stability
label 2024-04-06 04:39:27 +00:00
jade added the
Area/store
label 2024-05-10 18:12:01 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lix-project/lix#206
No description provided.