HarperFast / HarperFast/fulltext
Build native fault-injection and crash-recovery suites
- Dominant language
- Rust
- Stars
- 0
- Forks
- 0
- Avg merge
- 3h 53m
- Merged PRs (30d)
- 18
Description
## Outcome
Prove native wrapper publication, lifecycle, recovery and real Harper integration under failure.
## Acceptance criteria
- Test native create/reopen/locking, packed inputs, repeated upsert/delete, queries, close, and malformed/incompatible/corrupt state.
- Verify atomic index/opaque checkpoint publication, payload readback, plain commit interactions, failed reload, and ambiguous publication recovery.
- Inject failures before apply, after apply, after commit and before reload; check complete ID sets through both delete/recreate orders, not counts alone.
- Exercise real worker handoff/loss, cross-worker reader refresh, path aliases, bounded queues, multi-index saturation, and native quiescence before cleanup.
- Qualify POSIX and Windows file/mmap lifetime and cleanup retry after restart.
- Exercise actual Harper replay, source restore, log gaps, eviction, replicated writes, initial replica copy and rebuild/readiness in a reproducible paired CI fixture.
- Use sanitizers/property tests and supported-filesystem durability tests where appropriate; distinguish process crash from power loss.
- Retire custom KV Directory/transport/reclamation tests as release gates; upstream Tantivy supplies Directory behavior.
- Keep test-only wrapped native Directory injection for commit/reload failure branches after removing production KV code.
## Design
[Native Tantivy storage and Harper derived indexes](https://github.com/HarperFast/fulltext/blob/codex/native-storage-design/docs/native-storage-integration.md). Native Tantivy files are the only delivery target for standalone use and Harper. Proposed APIs and integration gates are not claims of completed implementation.
Comment generated by kAIle (GPT-6)
Contributor guide
Assessment
This issue has not been assessed yet.