Goal
Explore an incremental Rust implementation of selected HugeGraph Toolchain components. The intent is to improve safety, portability, startup/runtime efficiency, and contributor experience where Rust provides measurable value.
This is a parent tracking issue, not a commitment to replace the existing implementation wholesale. Existing Java/Go components remain supported while Rust alternatives are designed, benchmarked, and adopted step by step.
Roadmap at a glance
┌─ Toolchain: first phase ───────────────────────────┐
│ Rust client ─┐ │
│ ├─> shared tests/contracts ─> Tools │
│ Rust Loader ─┘ │
└────────────────────────────────────────────────────┘
│
v
Server core -> HStore -> PD -> Computer -> Vermeer/OLAP
Docs, compatibility checks, and benchmarks span every phase.
Proposed priority
- Rust client and Loader (parallel)
- Use the Java client and current Loader behavior as the compatibility reference.
- Start with a minimal client: transport, authentication, schema, graph, and Gremlin APIs.
- Build a Loader pipeline on top of the client with bounded memory, backpressure, retry, and resumability.
- Tools
- Port small, well-bounded commands after the client APIs stabilize.
- Preserve command-line behavior and backup/restore compatibility.
- Other components
- Evaluate independently; migrate only when the benefit and maintenance cost are clear.
Delivery model
proposal/RFC -> minimal vertical slice -> compatibility tests
-> benchmark -> opt-in preview -> production-ready candidate
Planning guardrails (required)
Before implementation starts, each child issue must define:
- scope, owner/mentor, and non-goals;
- API/CLI, protocol, data/storage-format, and operational compatibility;
- differential, cross-language parity, concurrency, fault-injection, and upgrade/rollback tests, where applicable;
- reproducible latency, throughput, memory, startup, and recovery benchmarks;
- security/dependency checks (
rustfmt, clippy, audit) and supported platforms;
- observability, packaging/deployment, coexistence, migration, and rollback plans;
- explicit acceptance criteria and user/operator/contributor documentation.
No large rewrite PR should start before its design and acceptance criteria are reviewed. Correctness, recoverability, and compatibility take precedence over headline benchmark numbers. Small, reviewable PRs and stable interoperability boundaries are required; an unplanned rewrite PR may be closed or asked to return to the RFC/design stage.
Candidate work items
This checklist will link to concrete child issues as proposals are accepted.
Project-wide roadmap
How to participate
Interested in open source, Rust, graph systems, databases, or infrastructure? Comment with the area you want to work on and any relevant experience. RFC review, benchmarks, tests, documentation, and small implementation tasks are all valuable.
First-time contributors can start with the HugeGraph contribution guide and the repository's good first issue / help wanted tasks.
Goal
Explore an incremental Rust implementation of selected HugeGraph Toolchain components. The intent is to improve safety, portability, startup/runtime efficiency, and contributor experience where Rust provides measurable value.
This is a parent tracking issue, not a commitment to replace the existing implementation wholesale. Existing Java/Go components remain supported while Rust alternatives are designed, benchmarked, and adopted step by step.
Roadmap at a glance
Proposed priority
Delivery model
Planning guardrails (required)
Before implementation starts, each child issue must define:
rustfmt,clippy, audit) and supported platforms;No large rewrite PR should start before its design and acceptance criteria are reviewed. Correctness, recoverability, and compatibility take precedence over headline benchmark numbers. Small, reviewable PRs and stable interoperability boundaries are required; an unplanned rewrite PR may be closed or asked to return to the RFC/design stage.
Candidate work items
This checklist will link to concrete child issues as proposals are accepted.
Project-wide roadmap
How to participate
Interested in open source, Rust, graph systems, databases, or infrastructure? Comment with the area you want to work on and any relevant experience. RFC review, benchmarks, tests, documentation, and small implementation tasks are all valuable.
First-time contributors can start with the HugeGraph contribution guide and the repository's
good first issue/help wantedtasks.