Skip to content

docs: clarify standalone deployment contracts - #559

Open
imbajin wants to merge 3 commits into
apache:masterfrom
hugegraph:docs/issue-103-deployment-contracts
Open

imbajin wants to merge 3 commits into
apache:masterfrom
hugegraph:docs/issue-103-deployment-contracts

Conversation

@imbajin

@imbajin imbajin commented Nov 2, 2026 •

Copy link
Copy Markdown
Member

Before → After

Before: Standalone setup contracts, shard-bound requirements, and community-native Topling profile preparation were not documented consistently across both languages.

After:

  • Rebased onto origin/master (post-docs: unify client navi struct and streamline GQL docs (EN/CN) #557), cleanly incorporating PR docs: unify client navi struct and streamline GQL docs (EN/CN) #557's OINK components (Steps, Tabs, Cards, Alerts) and traverser batch APIs alongside PR docs: clarify standalone deployment contracts #559's standalone deployment contracts.
  • Clarified standalone deployment contracts: Server 1.8 RocksDB artifact selection vs HStore/Helm single-node topologies, named volume data persistence (rocksdb-data), configuration write permissions, and Java 17/auth initialization.
  • Traversal sources and bindings: Standalone Server 1.8 uses GraphSpace-scoped traversal source __g_DEFAULT-hugegraph and graph binding DEFAULT-hugegraph.
  • Shard scan bounds and pagination: Documented required start and end bounds (explicit empty values for open bounds, HTTP 400 when missing) and explicit page pagination semantics for vertex and edge scans.
  • ToplingDB version boundary (addresses reviewer feedback from @bitflicker64): Explicitly distinguished that the community-native SkipList/BlockBasedTable profile in conf/toplingdb.yaml applies to Server 1.8.0+ (apache/hugegraph#3447 / master), whereas existing/prior builds (such as 1.7.0) ship with cspp memtable and DispatcherTable.

Source: hugegraph#60
Paired implementation source: apache/hugegraph#3447

Validation boundary & results

  • Hugo Strict Build: ./scripts/hugo.sh build renders all 668 pages (EN: 335, CN: 333) with 0 errors.
  • Link Integrity: bash dist/validate-links.sh passes with 0 broken links.
  • Unit Tests: python3 -m unittest discover -s scripts/ passes all 290 tests (1 skipped).
  • Git Diff Check: git diff --check clean.

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.

@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: yes. Summary: The standalone deployment, Gremlin binding and shard-scan text matches apache/hugegraph master 8e327b8 or is scoped to the fixes in apache/hugegraph#3447, but the Topling default-profile paragraph describes a profile that no build ships until apache/hugegraph#3447 merges.

Comment thread content/en/docs/guides/toplingdb.md Outdated
The shipped native profile disables its HTTP server and keeps `memtable_as_log_index=false`, which the Java write path requires.
Tune that profile for the host; it is separate from the business provider and data-path configuration.

Updated distributions use community-compatible SkipList memtables and BlockBasedTable files by default.

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.

Important: master's Server conf/toplingdb.yaml still selects the cspp memtable and a DispatcherTable over CSPPMemTabTable, and the SkipList/BlockBasedTable profile exists only in open apache/hugegraph#3447, so a user with a community Topling JNI who trusts this paragraph on any current build fails at Server initialization. Merge this after apache/hugegraph#3447, or name the Server version that ships that profile here and in the cn mirror.

- Distinguish standalone RocksDB artifacts from HStore and Helm single-node presets.
- Document required scan bounds and explicit pagination without changing the unpaged contract.
- Correct standalone Gremlin aliases and GraphSpace-scoped traversal sources.
- Clarify ToplingDB community SkipList/BlockBasedTable profile version boundary (Server 1.8.0+ / #3447 vs legacy cspp memtable).
@imbajin
imbajin force-pushed the docs/issue-103-deployment-contracts branch from ca75f7e to 9348fc4 Compare November 2, 2026 14:12
@imbajin

imbajin commented Nov 2, 2026

Copy link
Copy Markdown
Member Author

Thanks @bitflicker64 for the careful review!

This PR has been rebased onto current origin/master (commit 19e2573f1, which merged PR #557) and updated:

  1. ToplingDB Version Boundary Addressed:

    • In both English and Chinese (content/{en,cn}/docs/guides/dev-test/toplingdb.md), explicitly distinguished the version boundary:
      • Clarified that the community-native profile in conf/toplingdb.yaml (using standard SkipList memtables and BlockBasedTable files without requiring cspp, CSPPMemTabTable, or DispatcherTable plugins) applies to Server 1.8.0+ / master (apache/hugegraph#3447).
      • Explicitly noted that current and prior release builds (e.g. 1.7.0) ship conf/toplingdb.yaml configured with cspp memtable and DispatcherTable, and reminded users on older versions using community JNI without CSPP plugins to adjust conf/toplingdb.yaml accordingly to prevent initialization errors.
  2. Rebase & Modern OINK Typography Preserved:

    • Cleanly integrated PR docs: clarify standalone deployment contracts #559's standalone deployment contracts, container recipes, and troubleshooting matrices into content/{en,cn}/docs/quickstart/hugegraph/hugegraph-server.md while preserving all modern OINK components (Tabs {tab="..."}, Cards {.td-cards-list}, and Alerts) introduced by PR docs: unify client navi struct and streamline GQL docs (EN/CN) #557.
    • Preserved shard scan bound validations in content/{en,cn}/docs/clients/restful-api/traverser.md alongside the newly added Same Neighbors batch API.
    • Aligned Gremlin traversal source alias clarifications (__g_DEFAULT-hugegraph) in both languages.
    • Wrapped prose cleanly to adhere to project constraints.
  3. Validation Passed:

    • python3 -m unittest discover -s scripts/: 290 tests pass (1 skipped).
    • ./scripts/hugo.sh build: Renders 668 pages (EN: 335, CN: 333) with 0 errors.
    • bash dist/validate-links.sh: 0 broken links.
    • git diff --check: Clean.

imbajin and others added 2 commits November 2, 2026 23:33
Limit empty shard bounds to supported backends and describe the all-backend required-bound change.
Qualify local-backend image reuse by the wait and data-directory fixes.
Document Topling configuration precedence, absolute path handling and legacy CSPP upgrade requirements.

@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: yes. Summary: The standalone deployment, Gremlin binding, shard-scan and HStore-reuse text matches apache/hugegraph master 8e327b8 and 1.7.0, or is scoped to fixes in open apache/hugegraph#3447. The Topling version note added since the last review misstates what master and 1.7.0 ship.

The shipped native profile disables its HTTP server and keeps `memtable_as_log_index=false`, which the Java write path requires.
Tune that profile for the host; it is separate from the business provider and data-path configuration.

Starting with Server 1.8.0+ (master), distributions ship a community-native profile in `conf/toplingdb.yaml`

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.

Important: master's conf/toplingdb.yaml still selects the cspp memtable and DispatcherTable, and the 1.7.0 release ships no Topling profile or prepare-topling.sh, so a community-JNI user on master who trusts this paragraph hits the initialization failure it warns about. Scope the SkipList profile to builds containing the compatibility-profile fix, as line 128 does, and drop the 1.7.0 sentence here and in the cn mirror.

This branch has not been deployed

No deployments
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