imbajin opened a new issue, #3110:
URL: https://github.com/apache/hugegraph/issues/3110
## Goal
Explore an **incremental Rust implementation** for selected HugeGraph Server,
HStore, and PD components, especially performance- or memory-sensitive paths
where Rust can provide measurable safety and efficiency benefits.
This is a parent tracking issue, not a commitment to rewrite the whole
server.
The current implementation remains the compatibility baseline, and Java/Rust
components may coexist behind stable process, protocol, or storage
boundaries.
## Proposed priority
1. **Server core**
- Begin with bounded leaf components, memory management, codecs, or
performance-sensitive data structures rather than the whole request
path.
- Preserve REST/Gremlin behavior, authentication, observability, and
plugin
contracts.
2. **HStore**
- Evaluate storage/replication paths only after workload baselines,
on-disk
and wire compatibility, failure recovery, and rolling-upgrade
requirements
are explicit.
3. **PD**
- Evaluate scheduling and metadata components after their
distributed-system
invariants and compatibility contract are covered by repeatable tests.
The sequence may change based on benchmark evidence and maintainer consensus.
## Delivery model
```text
proposal/RFC -> isolated component -> differential/fault tests
-> benchmark -> opt-in deployment -> staged adoption
```
Each child issue should define:
- scope, owner/mentor, and non-goals;
- API, protocol, storage-format, and operational compatibility;
- differential, concurrency, fault-injection, and upgrade/rollback tests;
- reproducible latency, throughput, memory, and recovery benchmarks;
- security/dependency checks and supported platforms;
- observability, deployment, coexistence, migration, and rollback plans;
- user and operator 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.
## Candidate work items
- [ ] Select the first small server-side proof of concept
- [ ] Document stable Java/Rust interoperability boundaries
- [ ] Build shared differential and compatibility test fixtures
- [ ] Establish representative OLTP and storage workload baselines
- [ ] Define CI, packaging, security, and release conventions
- [ ] Define rolling-upgrade and rollback requirements before HStore/PD work
- [ ] Split approved work into newcomer-friendly child issues
This checklist will link to concrete child issues as proposals are accepted.
## Project-wide roadmap
Related parent issues will be linked here after creation.
## How to participate
Contributors interested in **open source, Rust, databases, distributed
systems,
storage engines, or infrastructure** are very welcome. Please comment with
the
area you want to work on and any relevant experience. RFC review,
failure-model
analysis, benchmarks, tests, documentation, and small implementation tasks
are
all valuable.
For first-time contributors, see the
[HugeGraph contribution
guide](https://hugegraph.apache.org/docs/contribution-guidelines/contribute/)
and the repository's `good first issue` / `help wanted` tasks.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]