Configurable LMDB map-size autogrow with safe retry #9
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/tek9#9
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Outcome
Add opt-in LMDB map-size autogrowth to Tek9 so long-lived Hackmode graph/KB workloads can recover from
MDB_MAP_FULLwithout operator intervention or partial writes.Owning RAGE lane
Tek9/database.
Fence
This is Tek9 storage-engine behavior. Do not implement Hackmode provider/runtime/Hackpert behavior here and do not add a second persistence layer.
Required configuration
Transaction semantics
Research LMDB resize semantics before implementation. On map-full:
Do not spin forever and do not treat a failed commit as successful.
Observability
Expose enough structured/logged metadata to diagnose growth: old size, new size, trigger, environment/database identity, attempt count, and max-size exhaustion. Never log stored payload contents merely to report growth.
RED-first tests
Acceptance proof
Create a deliberately tiny LMDB environment, fill it until map-full, prove disabled mode fails as before, then enable autogrow and prove the same logical transaction completes exactly once after a serialized resize. Repeat through multiple growths and max-size exhaustion.
Non-goals