Skip to content

docs: clarify graph maintenance and client routing - #519

Merged
imbajin merged 15 commits into
apache:masterfrom
hugegraph:fix/doc-graph-reload
Oct 14, 2026
Merged

imbajin merged 15 commits into
apache:masterfrom
hugegraph:fix/doc-graph-reload

Conversation

@imbajin

@imbajin imbajin commented Oct 12, 2026 •

Copy link
Copy Markdown
Member

中文说明 (Chinese Summary)

背景与目标

原文档对图维护(如删除图、动态重载)的保证超出了 Server 的实际实现。本 PR 结合 apache/hugegraph#3308 的任务排空(task-drain)与图删除机制,全面对齐中英文 API、配置、FAQ 及快速上手文档,并修正 Go 客户端的图空间路由。

主要改动

  1. 图维护与运维操作边界 (graphs.md, task.md, faq.md, hugegraph-server.md):
    • 任务排空:删除图或清空图前,需先停止所有 Server 节点上的数据写入与在途异步任务。
    • 同名重建:确认所有 Server 节点清理完毕前,禁止直接复用原图名新建图。
    • 配置变更推荐重启:明确动态 reload 在无 PD 协调环境下的清空风险,避免产生全局自动恢复的误解。
  2. Go 客户端图空间路由 (hugegraph-client-go.md):
    • 修正 Vertex 和 Schema 操作在 GraphSpace 模式下的实际请求路径与参数映射。
  3. 配置与 FAQ 校验 (config-guide.md, faq.md 等):
    • 修复 FAQ 中配置指南的锚点链接,统一 HStore 与 Server 配置项说明。

边界与注意事项

  • 维护通知在多 Server 间不构成强同步屏障,分布式集群中运维操作仍需逐节点确认。
  • 私有图空间的完整 CRUD 与大规模集群多节点验证属于后续演进范畴。

English Description

Summary

Align bilingual documentation with actual Server behavior regarding graph maintenance (task-drain & deletion) based on apache/hugegraph#3308, and fix Go client GraphSpace schema routing.

Key Changes

  1. Graph Maintenance Lifecycle (graphs.md, task.md, faq.md, hugegraph-server.md):
    • Task-drain requirement: stop incoming writes and drain async tasks across all Server nodes before graph drop/clear operations.
    • Recreation boundary: ensure cleanup has taken effect across all nodes before recreating a graph with the same name.
    • Config reload vs. restart: advise Server restart for configuration updates; clarify risks of dynamic reload in environments without PD coordination.
  2. Go Client Routing (hugegraph-client-go.md):
    • Fixed GraphSpace schema and vertex API routes and parameter handling.
  3. Link & Option Corrections (config-guide.md, faq.md, etc.):
    • Fixed broken documentation anchors and aligned configuration descriptions.

Scope & Boundaries

  • Internal broadcast notifications do not form a strict cluster barrier across multiple Servers; manual node-level confirmation is recommended during maintenance.
  • Full private-space CRUD acceptance across distributed deployments is tracked separately.

Related Implementation PRs

Verification

  • Hugo 0.165 Extended bilingual build passed
  • Markdown links & anchors validated (dist/validate-links.sh)

Conceptual Overview

Draft documentation scope for maintenance boundaries and Go GraphSpace routing

- describe startup source recovery and failure retries
- document local deletion protection across graph spaces
- explain authentication and cache RPC reload limits
- align configuration references with startup sources
- preserve reload protection and recovery boundaries
- wrap the added prose to the repository line limit
- document overlapping reload rejection and retry
- qualify closed graph cleanup and data boundaries
- explain local task owner waits and forced cancellation
- merge current documentation master
- align schema graph space routes with the Go client
- preserve merged edge label and error guidance
@imbajin imbajin changed the title docs: explain graph reload recovery docs: clarify graph lifecycle and client routing Oct 12, 2026
- describe the manager lifecycle admission guard
- retain explicit retry and notification boundaries
- align the Chinese and English API guidance
- explain deferred remote graph removal notifications
- include overlapping operations in reload error summary
- distinguish local waiting from distributed task deletion
- require quiesced writes during deletion and retries
- retain failed owners only for cleanup recovery
- explain partial deletion and closed task admission
- describe local publication and notification coordination
- retain quota and local configuration protection rules
- prohibit same-name recreation during failed cleanup
- document explicit recovery after replacement failures
- describe waiting behind an active lifecycle operation
- state the wait has no configured timeout
- distinguish interruption and immediate API rejection
- make file removal mandatory for reload and restart
- explain retained files restore deletion protection
- preserve the DEFAULT graph-space protection scope
@imbajin
imbajin marked this pull request as draft October 12, 2026 17:04
- describe local task drain and manual maintenance
- require restart for configuration changes
- clarify uncertain cleanup and reload data risk
- preserve existing Go schema routing guidance
@imbajin imbajin changed the title docs: clarify graph lifecycle and client routing docs: clarify graph maintenance and client routing Oct 12, 2026
- retain closed admission after task-drain refusal
- wait for all task owners and cancellation cleanup
- limit restart recovery to pre-destructive failures
- keep the configuration guide URI contiguous
- preserve the existing FAQ explanation
- verify the actual CommonMark link anchor
@imbajin
imbajin marked this pull request as ready for review October 13, 2026 16:34

@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 task-drain, reload and graph.load_from_local_config wording matches Server master after apache/hugegraph#3308, and the Go client GraphSpace routing matches toolchain master after apache/hugegraph-toolchain#799. One new recovery instruction, for a graph protected by local configuration, ends in a retry that fails when the graph exists only as a local properties file, and one table row differs between the English and Chinese config guide. Evidence: full diff 2d0b830...c9338d5 read on all 16 files; claims checked statically against GraphManager (reload, dropGraph, dropGraphLocal, loadGraph, init), StandardHugeGraph.drop and truncateBackend, StandardTaskScheduler and DistributedTaskScheduler (close, waitUntilAllTasksCompleted), GraphsAPI, CoreOptions.TASK_WAIT_TIMEOUT and ServerOptions.GRAPH_LOAD_FROM_LOCAL_CONFIG at apache/hugegraph master 0b7c0de3, and against the schema, propertykey, vertexlabel, edgelabel, vertex and gremlin code under api/v1 in hugegraph-client-go at toolchain master 8e6ed847. No Hugo build and no Server run were done for this review; the Build and deploy site check was still queued on this head.

Comment thread content/en/docs/clients/restful-api/graphs.md Outdated
Comment thread content/cn/docs/config/config-guide.md Outdated
@imbajin
imbajin merged commit 0cd9a98 into apache:master Oct 14, 2026
2 checks passed
@imbajin
imbajin deleted the fix/doc-graph-reload branch October 16, 2026 16:47
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.

3 participants