Skip to content

fix(hubble): clone graph Schema through explicit Server endpoint - #870

Merged
imbajin merged 11 commits into
apache:masterfrom
hugegraph:codex/hubble-clone-contract
Oct 31, 2026
Merged

imbajin merged 11 commits into
apache:masterfrom
hugegraph:codex/hubble-clone-contract

Conversation

@imbajin

@imbajin imbajin commented Oct 30, 2026 •

Copy link
Copy Markdown
Member

Before

Hubble calls an unavailable extension and offers unsupported data and cross-space cloning.

After

Use an explicit schema-only SDK/Server endpoint; reject unsupported options and keep older-Server 404 behavior without an empty-graph fallback. Also retain algorithm-search input while graph scope initializes.

Validation and scope

Author-reported validation is recorded in the source PR; independent dots review and exact-head ASF CI are pending. No live deployment or RC acceptance is claimed. Keep Server #361, Toolchain #121 and Doc #58 paired; the new endpoint is unavailable on older Servers.

Source review: hugegraph/hugegraph-toolchain#121. This PR uses the same source branch; see that discussion for detailed validation evidence and limitations.

Visual overview

版本纠正:Hubble/SDK 采用显式端点并按 API 能力门控。本图仅说明同一 GraphSpace、无边标签源图的配置/属性键/顶点标签及其索引复制;不复制顶点或边数据。有边标签的源图由 Server 在创建目标前拒绝,不表示 SDK 独立保证源图状态。复制期间仍需保持源 Schema 不变,失败可能遗留部分目标,没有自动回滚。API 0.73+ 为能力门槛,不代表该版本已发布或联合验收通过。三仓配套:🔗 Server #3439、🔗 Toolchain #870、🔗 Doc #554。机制示意,不代表 CI、独立实测全覆盖或同一 RC 已通过。评审核对:2026-10-31。

机制示意

@codecov

codecov Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 87.87879% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 56.45%. Comparing base (b34007e) to head (ef98db5).
⚠️ Report is 14 commits behind head on master.

Files with missing lines Patch % Lines
...n/java/org/apache/hugegraph/driver/HugeClient.java 0.00% 2 Missing ⚠️
.../hugegraph/controller/graphs/GraphsController.java 91.66% 0 Missing and 1 partial ⚠️
...apache/hugegraph/service/graphs/GraphsService.java 0.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##             master     #870      +/-   ##
============================================
+ Coverage     55.40%   56.45%   +1.05%     
- Complexity     5989     6265     +276     
============================================
  Files           619      622       +3     
  Lines         32582    33191     +609     
  Branches       4217     4361     +144     
============================================
+ Hits          18052    18738     +686     
+ Misses        12952    12799     -153     
- Partials       1578     1654      +76     

☔ 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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@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 client matches the schema-clone contract in apache/hugegraph#3439, but the Hubble dialog hides the Server's rejection reason and the action is enabled on Servers without the endpoint.

</span>
</Tooltip>
),
disabled: !canManage || !graphCreateEnabled,

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: graph_create_enabled holds on every released Server, none of which has schema-clone, so those users get an enabled Clone Schema action that always fails where they saw a disabled action with graph.clone.unavailable before. Gate the action on a ServerCompatibility check for the endpoint, for example an API version bump in apache/hugegraph#3439, and keep the disabled hint otherwise.

MrJs133
MrJs133 previously approved these changes Oct 31, 2026
MrJs133
MrJs133 previously approved these changes Oct 31, 2026
MrJs133
MrJs133 previously approved these changes Oct 31, 2026
MrJs133
MrJs133 previously approved these changes Oct 31, 2026
@imbajin
imbajin merged commit 7e1683f into apache:master Oct 31, 2026
@imbajin
imbajin deleted the codex/hubble-clone-contract branch October 31, 2026 17:51
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