Skip to content

fix(server): repair standalone storage contracts - #3447

Open
imbajin wants to merge 1 commit into
apache:masterfrom
hugegraph:fix/issue-103-verification
Open

imbajin wants to merge 1 commit into
apache:masterfrom
hugegraph:fix/issue-103-verification

Conversation

@imbajin

@imbajin imbajin commented Nov 2, 2026 •

Copy link
Copy Markdown
Member

Before → After

Before: standalone shard scans with an omitted bound can return HTTP 500, and a native profile unsupported by the selected community JNI can pass preparation but fail initialization.

After: validate missing scan bounds as HTTP 400 while preserving explicit empty bounds and paging contracts; validate community-compatible native profiles before runtime publication, include unzip in runtime images, and document standalone storage/configuration contracts.

Source: hugegraph#363
Paired documentation source: apache/hugegraph-doc#559

Validation boundary

The source PR records local Java/API/preparation and real standalone RocksDB/Topling checks; these are author-reported, not independently reproduced here. Published images, live HStore/Helm acceptance and Topling variant round trips remain unverified. Four existing standalone-management assertions failed in the broader suite and are not counted as passing. Coordinate the implementation and documentation merges.

Visual overview

单机 Server 分片扫描边界与 Topling 本地准备校验流程

Before → After: missing shard bounds return HTTP 400 while explicit empty bounds remain valid; Topling preparation adds actual-profile native import after the isolated EasyMigrate probe, before installing local runtime files. Profile import does not open production databases or convert existing SSTs, and it does not establish deployment or data-compatibility acceptance.

Reviewed: 2026-11-02. Source: 🔗 hugegraph/hugegraph #363 reviewed version.

Validate required shard scan bounds while retaining explicit empty bounds and paging behavior.
Use a community-compatible Topling profile and validate its plugins before runtime publication.
Include preparation tools and document standalone images, storage paths and Gremlin bindings.
Cover scan HTTP behavior and runtime preparation failures with regressions.
@codecov

codecov Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 58.42%. Comparing base (8e327b8) to head (6406863).

Additional details and impacted files
@@             Coverage Diff             @@
##             master    #3447     +/-   ##
===========================================
  Coverage     58.42%   58.42%             
+ Complexity     6903     3078   -3825     
===========================================
  Files           779      779             
  Lines         69391    69395      +4     
  Branches       9567     9571      +4     
===========================================
+ Hits          40539    40546      +7     
+ Misses        25179    25174      -5     
- Partials       3673     3675      +2     
Flag Coverage Δ *Carryforward flag
commons 96.37% <ø> (ø) Carriedforward from 8e327b8
hstore 36.07% <0.00%> (-0.01%) ⬇️
pd 56.74% <ø> (ø)
server_hbase 42.58% <ø> (ø) Carriedforward from 8e327b8
server_memory 56.60% <0.00%> (+0.07%) ⬆️
server_rocksdb 43.08% <100.00%> (+0.05%) ⬆️
store 35.90% <ø> (-0.07%) ⬇️

*This pull request uses carry forward flags. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@bitflicker64 bitflicker64 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blocking: no. Score: 9/10. Summary: Missing start or end on vertices/scan and edges/scan returns 400 while empty bounds and paging keep working, and the shipped toplingdb.yaml imports and opens with a community Topling JNI that rejects the previous CSPP profile.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants