Skip to content

doc(server): sync backend-hstore with master - #486

Open
bitflicker64 wants to merge 1 commit into
apache:masterfrom
bitflicker64:doc-sync/server-backend-hstore
Open

doc(server): sync backend-hstore with master#486
bitflicker64 wants to merge 1 commit into
apache:masterfrom
bitflicker64:doc-sync/server-backend-hstore

Conversation

@bitflicker64

@bitflicker64 bitflicker64 commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Adds the missing configuration page for the hstore distributed backend, in English and Chinese. Every fact
traces to the HugeGraph master branch.

The page is not yet linked from the sidebar, because nav registration for all three new backend
pages has to land as a single later change.

page what was wrong what changed source (file:line on master)
config/config-backend-hstore.md (en + cn) Page did not exist. hstore had no configuration page at all, so the backend was only reachable through the PD and Store quickstart pages. New page, weight 6, after the complete configuration manual in the Server Config section. new file
... section 1 Overview Nothing described what the backend is or which Server behavior it switches. Explains that PD owns metadata, schema and schema id counters while Store owns the data, and tabulates the seven behaviors Server switches on the backend type (schema storage, schema ids, system store, task scheduler, auth manager, version check, init-store). hugegraph-hstore/src/main/java/org/apache/hugegraph/backend/store/hstore/HstoreProvider.java:30-53, hugegraph-core/src/main/java/org/apache/hugegraph/StandardHugeGraph.java:266-271,281-285,613-621,664-669,1651-1656, hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/SchemaTransactionV2.java:72,84,648-650, hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendStoreInfo.java:42-48, hugegraph-dist/src/main/java/org/apache/hugegraph/cmd/InitStore.java:113-122
... section 2 Prerequisites Startup order and the ports Server talks to were not written down anywhere in the config section. Documents the PD then Store then Server order, the Up versus Pending store registration rule, and the PD/Store gRPC and REST default ports. Links to the PD and Store quickstart pages. hugegraph-pd/hg-pd-core/src/main/java/org/apache/hugegraph/pd/StoreNodeService.java:160-167,218-220, hugegraph-pd/hg-pd-dist/src/assembly/static/conf/application.yml:38-55, hugegraph-store/hg-store-dist/src/assembly/static/conf/application.yml:32-47
... section 3 Selecting the backend No page said how to turn the backend on, that serializer=binary is needed, how store becomes the graph name PD sees, or that pd.peers is read from the graph config. Documents the four graph keys, the usePD switch in rest-server.properties, the inheritance of pd.peers from the server config, the shipped hstore.properties.template, the hstore Docker image swap and the rocksdb-only Maven profile. conf/graphs/hstore.properties.template:25-33, conf/rest-server.properties:26-27, hugegraph-core/src/main/java/org/apache/hugegraph/config/CoreOptions.java:47-82,649-654,679-685, hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendProviderFactory.java:48-49,61-62,70, hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/BackendStoreProvider.java:28-30, hugegraph-dist/src/main/java/org/apache/hugegraph/dist/RegisterUtil.java:77-126, hugegraph-api/src/main/java/org/apache/hugegraph/core/GraphManager.java:251-260,342-372,1603-1642, hugegraph-server/Dockerfile-hstore:39-41, hugegraph-dist/pom.xml:38,294-304, hugegraph-dist/src/assembly/travis/start-server.sh:72-75
... section 4 hstore options hstore.partition_count and hstore.shard_count were documented nowhere, including in the complete configuration manual. Both keys with default 0 and their descriptions, the validation error for a negative partition count, how PD interprets 0 and clamps a value above its own total, and the fact that no Server code reads hstore.shard_count in this release. hugegraph-hstore/src/main/java/org/apache/hugegraph/backend/store/hstore/HstoreOptions.java:27-38, .../HstoreSessionsImpl.java:126-140, hugegraph-pd/hg-pd-core/src/main/java/org/apache/hugegraph/pd/PartitionService.java:425-445, hugegraph-pd/hg-pd-core/src/main/java/org/apache/hugegraph/pd/config/PDConfig.java:104-107,263-278
... section 5 Options that only apply in hstore mode The keys that only matter with PD were spread across the manual with no indication that they are distributed-mode only. Table of eight keys with file, default, effect and the declaring file:line. Adds the fail-closed rules init-store.sh applies when init_store.enabled is false. hugegraph-api/src/main/java/org/apache/hugegraph/config/ServerOptions.java:187-201,355-361,371-380,390-396,591-598, hugegraph-core/src/main/java/org/apache/hugegraph/config/CoreOptions.java:649-654,679-685, hugegraph-dist/src/main/java/org/apache/hugegraph/cmd/InitStore.java:86-92,113-122,202-238
... section 6 How Server finds the stores The routing path from a key to a store node was undocumented. Describes the one-time PD client and store client setup and the five routing cases the PD-backed partitioner handles, including leader-moved cache invalidation. .../HstoreSessionsImpl.java:109-122, hugegraph-store/hg-store-client/src/main/java/org/apache/hugegraph/store/HgStoreClient.java:92-101, hugegraph-store/hg-store-client/src/main/java/org/apache/hugegraph/store/client/HgStoreNodePartitionerImpl.java:54-193
... section 7 Backend capabilities Nothing listed the query forms the backend does not support, so users hit the limits at runtime. Table of 21 features with yes/no, plus the two reasons the code gives for input-id ordering and property updates being unsupported. hugegraph-hstore/src/main/java/org/apache/hugegraph/backend/store/hstore/HstoreFeatures.java:24-135
... section 8 Verification No way to check that Server actually reached PD and found stores. Documents GET /metrics/backend and what a nodes value of 0 means. hugegraph-api/src/main/java/org/apache/hugegraph/api/metrics/MetricsAPI.java:85,113-134, .../HstoreMetrics.java:37-43, .../HstoreSessionsImpl.java:810-816

Paths above are relative to hugegraph-server/ unless they start with hugegraph-pd/, hugegraph-store/,
docker/ or conf/.

Add config/config-backend-hstore.md in English and Chinese. The hstore
distributed backend had no configuration page: how to select it, the two
hstore.* options with their defaults, the rest-server and graph keys that
only take effect with PD, how the Server routes requests to Stores through
PD, and the query features the backend does not support were all
undocumented.
@bitflicker64
bitflicker64 force-pushed the doc-sync/server-backend-hstore branch from 6c16fe8 to 987fa8c Compare September 5, 2026 19:12
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.

1 participant