Skip to content

fix(hubble): preserve zero-limit guide snapshot statistics - #883

Merged
imbajin merged 6 commits into
apache:masterfrom
hugegraph:codex/fix-gremlin-preview-zero
Oct 31, 2026
Merged

imbajin merged 6 commits into
apache:masterfrom
hugegraph:codex/fix-gremlin-preview-zero

Conversation

@imbajin

@imbajin imbajin commented Oct 31, 2026 •

Copy link
Copy Markdown
Member

Before: Preview generation appended another limit after a terminal g.V().limit(0), allowing TinkerPop optimization to consume upstream records despite a zero-row request. Explicitly unloaded Vermeer statistics lacked contextual guidance.

After: Preserve only parser-confirmed terminal top-level global literal zero limits; keep other scripts on the existing path. Show localized unloaded-statistics guidance linking to OLAP for the same graph, without changing other error handling.

Source: 🔗 hugegraph/hugegraph-toolchain #128

The author reports focused JVM/frontend and controlled Chromium checks, including a base-failing zero-limit regression. Live Server/Vermeer and the original large-graph incident have not been retested; this is not a general optimizer fix.

Visual overview

仅对解析器确认的终结、顶层、global、字面量零 limit 保留原预览表达式;其他脚本沿用原路径,不是通用 TinkerPop 优化器修复。仅在 Vermeer 统计明确报告图未加载时,给出同图 OLAP 入口;其他异常仍用原处理。原大图现场与真实部署尚未重新验收,示意图不代表性能或 CI/RC 通过。 评审核对:2026-10-31。

机制示意

@codecov

codecov Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 70.58824% with 5 lines in your changes missing coverage. Please review.
✅ Project coverage is 55.55%. Comparing base (b34007e) to head (a479452).
⚠️ Report is 30 commits behind head on master.

Files with missing lines Patch % Lines
...ava/org/apache/hugegraph/util/ReadOnlyGremlin.java 66.66% 1 Missing and 4 partials ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##             master     #883      +/-   ##
============================================
+ Coverage     55.40%   55.55%   +0.14%     
+ Complexity     5989     3734    -2255     
============================================
  Files           619      285     -334     
  Lines         32582    19920   -12662     
  Branches       4217     3050    -1167     
============================================
- Hits          18052    11066    -6986     
+ Misses        12952     7671    -5281     
+ Partials       1578     1183     -395     

☔ 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: no. Score: 9/10. Summary: terminalZeroLimit is set only for a top-level literal limit(0) with nothing but a consumer after it, so preview keeps g.V().limit(0) intact while every other script keeps the existing .limit(1001) path. The Vermeer guidance matches the exact DirectVermeerService 400 message through the request interceptor, the ?engine=olap link opens the OLAP tab for the same graph, and the backend unit suite, Jest suite and UI fixture gate pass at this head.

MrJs133
MrJs133 previously approved these changes Oct 31, 2026
@imbajin imbajin changed the title fix(hubble): preserve zero-limit previews and guide snapshot statistics fix(hubble): preserve zero-limit guide snapshot statistics Oct 31, 2026
@imbajin
imbajin merged commit 7155472 into apache:master Oct 31, 2026
20 checks passed
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