[Roadmap] Incremental Rust modernization for HugeGraph core modules
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tái cấu trúc
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Ít trao đổi
- Lĩnh vực
- backend, databases, distributed-systems
Hướng nghiên cứu
Đây là một roadmap cấp cha thay vì một tác vụ code cụ thể và không nêu điểm vào của file hoặc test nào. Hãy bắt đầu bằng việc đọc hướng dẫn đóng góp và checklist, sau đó chọn một ứng viên có phạm vi giới hạn, chẳng hạn như các ranh giới liên khả năng tương tác, differential fixtures hoặc benchmarks. Được xem là hoàn tất khi có một Issue con đã được phê duyệt và xác định phạm vi, cùng owner hoặc mentor, các tiêu chí về khả năng tương thích và test, benchmarks, cũng như các yêu cầu về rollout hoặc rollback.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
Roadmap at a glance
Toolchain foundations
│
v
┌─ This repository ─────────────────┐
│ Server core -> HStore -> PD │
└───────────────────────────────────┘
│
v
Computer kernels -> Vermeer/OLAP
Each arrow is a review gate, not an automatic rewrite.
Proposed priority
- 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.
- HStore
- Evaluate storage/replication paths only after workload baselines, on-disk and wire compatibility, failure recovery, and rolling-upgrade requirements are explicit.
- 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
proposal/RFC -> isolated component -> differential/fault tests
-> benchmark -> opt-in deployment -> staged adoption
Planning guardrails (required)
Before implementation starts, each child issue must 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;
- 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
- 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
- Toolchain: apache/hugegraph-toolchain#748
- Server / HStore / PD (this issue): apache/hugegraph#3110
- Computer / Vermeer: apache/hugegraph-computer#355
- Documentation hub: apache/hugegraph-doc#462
How to participate
Interested in open source, Rust, databases, distributed systems, storage engines, or infrastructure? Comment with the area you want to work on and any relevant experience. RFC review, failure-model analysis, benchmarks, tests, and documentation are all valuable.
First-time contributors can start with the HugeGraph contribution guide and the repository's good first issue / help wanted tasks.
- Ngôn ngữ chính
- Java
- Star
- 3.2k
- Fork
- 640
- Merge trung bình
- 1 ngày 10 giờ
- Pull request đã merge (30 ngày)
- 89
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của apache/hugegraph
-
[Bug] PD task REST: balanceLeaders throws a bare HTTP 500 during the balance-shard window, and task responses cannot be told apart from a no-op or a follower answerCó thể đã có người làm @pallavithegod đã nhận 4 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
apache/hugegraph#3231 · 2 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug] RaftEngineReadIndexTest fails now and then with UnfinishedStubbingException: the alive-peers refresher can call the mocked raft node while a test stubs itCó thể đã có người làm @Mihir-Rabari đã nhận hôm nay. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug] PD TTL cleanup deletes the marker-shaped name instead of the expired key, so expired values stay in the store until readCó thể đã có người làm @bitflicker64 đã nhận hôm nay. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[Task] Establish systematic performance baselines and optimization trackingCó thể đã có người làm @contrueCT đã nhận 4 ngày trước. Đang mởhelp wanted improvement rust
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 12/100
apache/hugegraph#3346 · 2 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug] CI accepts obsolete PR targets after retargeting or force-pushCó thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 25/100
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của apache/hugegraph
Issue tương tự
-
area: android good first issue help wanted testing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Gautam-aman/ResQNet#56 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation hermes-queue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
chrisalunlloyd2-sudo/mindpalace#294 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
better night vision compatĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
QuicksilverMC/Argentum#31 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
saysky/ForestBlog#111 ·
-
hawkbit-dmf-server 1.1.0 does not start: NoClassDefFoundError jakarta/servlet/ServletResponseĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
eclipse-hawkbit/hawkbit#3429 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày