Changes between Initial Version and Version 1 of Ticket #1003
- Timestamp:
- 2010-03-21T15:54:29Z (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #1003
- Property Version changed from 1.6.0 to 1.6.1
-
Ticket #1003 – Description
initial v1 1 Tahoe uses a relatively simplistic mark/sweep-style GC algorithm: {{{tahoe deep-check --add-lease}}} is used to perform a deep traversal from a given root node, and extend the leases of all nodes visited by the traversal.1 Tahoe uses a relatively simplistic mark/sweep-style GC algorithm: in the marking phase, {{{tahoe deep-check --add-lease}}} is used to perform a deep traversal from a given root node, and extend the leases of all nodes visited by the traversal. 2 2 3 3 This is subject to race conditions if the path by which a node is reachable changes during marking. For example, suppose we have two always-reachable mutable directories, A and B, and we also have a subtree that is referenced only from C. When the marking phase begins, there is a link from A to C, but during marking, a {{{tahoe mv}}} or equivalent is used to move that link to be from B to C. If the traversal visits B before the move, and A after it, then it will fail to mark C even though it was reachable throughout.