Skip to content

[Tree] Fix recover() not forwarding treeRootNode to verify(), causing unscoped forest verification#3048

Open
ashrafthamir wants to merge 1 commit intodoctrine-extensions:mainfrom
ashrafthamir:fix/nested-tree-recover-scoped-verify
Open

[Tree] Fix recover() not forwarding treeRootNode to verify(), causing unscoped forest verification#3048
ashrafthamir wants to merge 1 commit intodoctrine-extensions:mainfrom
ashrafthamir:fix/nested-tree-recover-scoped-verify

Conversation

@ashrafthamir
Copy link
Copy Markdown

Problem

recover() accepts a treeRootNode option to scope recovery to a single tree, but the internal verify() call does not forward it. This causes verify() to check the entire forest instead of only the target tree.

If any other tree in the forest has errors, the early-exit optimisation is bypassed and the target tree is unnecessarily recovered. At scale (many roots, large trees), the unscoped verify() iterates every lft/rgt index across all trees, producing a query per index and leading to timeouts.

Solution

Forward treeRootNode to verify(), which already supports it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants