Skip to content

expired nodes: don't resurrect siblings, just update in-place #557

@gballet

Description

@gballet

In the current version of #556, the whole subtree is revived if a single value is touched. This isn't entirely necessary, as only the path to the node needs to be resurrected.

The problem is that all nodes need to be loaded at some point, because the internal hashes have to be regenerated. Nonetheless, even if these leaves are loaded in memory, they do not need to be "revived" and can be replaced with an expired node immediately after computing the hash, and then updated in place if need be.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions