Skip to content

Grow hashtable#941

Merged
rphmeier merged 2 commits into
thrumdev:masterfrom
Sovereign-Labs:grow-hashtable
Jun 10, 2026
Merged

Grow hashtable#941
rphmeier merged 2 commits into
thrumdev:masterfrom
Sovereign-Labs:grow-hashtable

Conversation

@theodorebugnet

@theodorebugnet theodorebugnet commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Adds a mostly vibe-coded implementation of growing the bucket storage on-disk. This way, if the buckets start to run out, the database can be grown in-place rather than needing to be rebuilt from scratch.

A large part of the line count is integrations into the fuzz and torture frameworks.

This has been empirically tested on rollups backed by NOMT storage, but most of the implementation was written by codex, so cleanup or comments about the approach are welcome!

@rphmeier rphmeier left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, it's pretty simple.

You will get faster performance by refactoring it to use the async I/O facilities rather than the current approach, which synchronously reads each page individually and then writes it. By a quite significant factor, maybe as much as 10x. Fine as a follow-up

@rphmeier rphmeier merged commit cf1672b into thrumdev:master Jun 10, 2026
7 checks passed
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