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]

Reply via email to