Skip to content

feat: Implement post-deletion node shrink logic across all ART node types#47

Closed
Bhuviiiii-prog wants to merge 32 commits into
acmpesuecc:devfrom
Bhuviiiii-prog:grow_shrink
Closed

feat: Implement post-deletion node shrink logic across all ART node types#47
Bhuviiiii-prog wants to merge 32 commits into
acmpesuecc:devfrom
Bhuviiiii-prog:grow_shrink

Conversation

@Bhuviiiii-prog

Copy link
Copy Markdown
Contributor

Implements shrink logic for all node types in the ART delete path

Context

After each deletion, nodes with too few children are rebuilt at the next smaller nodetype

Description

Ran insert/search/delete scenarios across node transitions ([Node256 → Node48 → Node16 → Node4] and reverse)

Changes

Updated removechild() to handle all different node types and added shouldshrink() and shrink() functions

Tests

Ran a test validating full growth and shrink lifecycle cmd/radFS/arttest/main.go
All checks passed with expected node type transitions at every threshold and root correctly returning nil after the final deletion as intended

Additional info

This PR is built on top of PR #41 that implements growth

Bhuviiiii-prog and others added 30 commits March 19, 2026 23:08
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
o
Merge branch 'artDev' of github.com:Bhuviiiii-prog/radFS into artDev
@Delta18-Git

Copy link
Copy Markdown
Member

closed in favour of #49

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.

3 participants