Skip to content

docs: require Java 17 starting with 1.8.0 - #508

Open
imbajin wants to merge 6 commits into
masterfrom
docs/java17-tinkerpop-upgrade
Open

imbajin wants to merge 6 commits into
masterfrom
docs/java17-tinkerpop-upgrade

Conversation

@imbajin

@imbajin imbajin commented Oct 2, 2026 •

Copy link
Copy Markdown
Member

中文说明 (Chinese Summary)

背景与目标

HugeGraph 1.8.0 正式将运行环境基线升级至 Java 17(1.7.0 为最后一个支持 Java 11 的版本)。原文档中仍残留较多针对 Java 11 的前提要求说明。本 PR 在中英文 Server 快速上手文档中正式确立 Java 17 版本分界线,并同步补充 TinkerPop 升级相关的兼容性说明。

主要改动

  1. 明确 Java 17 版本分界 (hugegraph-server.md):
    • 明确指出 HugeGraph 1.8.0 及以上版本必须使用 Java 17 运行环境;1.7.0 为最后一个支持 Java 11 的正式版本。
    • 清理过时的历史过渡描述,同时保留原有小节标题锚点,确保外部链接不失效。
  2. TinkerPop 升级与序列化兼容性:
    • 记录废弃并移除不安全的类型化 GraphSON V1 序列化协议。
    • 补充 Cypher 重放与 Jackson 配置支持说明。
  3. Uniform-List 特性说明:
    • 阐明点/边 uniform-list 校验特性开关变更,明确基于 Schema 声明的 LIST 属性仍然保持完整支持。

边界与注意事项

  • 升级至 1.8.0 需确保整个调用栈环境(JDK、客户端驱动)完成对应升级。

English Description

Summary

Explicitly define the Java 17 runtime baseline for HugeGraph 1.8.0 in Server quickstart guides (with 1.7.0 as the final Java 11 release), and document TinkerPop upgrade compatibility details.

Key Changes

  1. Java 17 Release Boundary (hugegraph-server.md):
    • Clearly declare that HugeGraph 1.8.0+ requires Java 17, and 1.7.0 is the final release supporting Java 11.
    • Cleaned up outdated transitional wording while preserving existing heading anchors.
  2. TinkerPop & Serialization Updates:
    • Documented the removal of unsafe typed GraphSON V1.
    • Documented Jackson configuration and Cypher query replay support.
  3. Uniform-List Capability:
    • Documented uniform-list capability flag updates and clarified continued support for schema-defined LIST properties.

Scope & Boundaries

  • Deployments moving to 1.8.0 must upgrade underlying JDK and client runtimes accordingly.

Related Implementation PRs

Verification

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

Conceptual Overview

Java 17 upgrade boundaries and uniform-list capability flag

- Separate upgrade branch requirements from Java 11 packages
- Document the TinkerPop and Groovy transition in both languages
- Explain bundled serializer configuration and script compatibility
- Require Java 17 starting with HugeGraph 1.8.0 in both languages
- Identify 1.7.0 as the final Java 11 release and remove old guidance
- Explain uniform-list capability flags and preserve old heading anchors
@imbajin imbajin changed the title docs: clarify Java 17 upgrade requirements docs: require Java 17 starting with 1.8.0 Oct 2, 2026
- explain input multiplicity for intermediate scans
- document local type predicate evaluation
- keep English and Chinese guidance aligned
Add bilingual GraphBinary schema and Blob transport guidance.
Preserve the documented legacy GraphSON V1 Tree shape.
Explain named bindings and DATE millisecond conversion.
Link the repository upgrade guide for configuration details.
@imbajin
imbajin force-pushed the docs/java17-tinkerpop-upgrade branch from 6c193dd to 0a6a690 Compare October 5, 2026 21:40
- document the removal of unsafe typed GraphSON V1
- explain schema values and mixed edge ID compatibility
- describe Cypher replay and Jackson configuration support
@imbajin
imbajin marked this pull request as ready for review October 12, 2026 16:56

@imbajin imbajin left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blocking: no. Summary: The guide has actionable gaps in its master-build examples, typed GraphSON limits, and upgrade link. Evidence: Current master uses revision 1.8.0, the server runtime guide limits typed GraphSON to supported simple values and IDs, and the linked upgrade-guide path returns 404.

Comment thread content/en/docs/quickstart/hugegraph/hugegraph-server.md
Comment thread content/en/docs/quickstart/hugegraph/hugegraph-server.md
Comment thread content/en/docs/quickstart/hugegraph/hugegraph-server.md Outdated

@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. Summary: The Java 17, Maven 3.6.3, TinkerPop 3.8.1 and Groovy 4.0.25 statements match apache/hugegraph master, and EN and CN agree. Three smaller gaps remain: the Java 24+ limit of the security check was removed although the launcher still enforces it, the -g row does not match the launcher, and the PD and HStore quick starts still state Java 11 and Maven 3.5.0. Evidence: read the full diff at f8450f0 against merge base e6389aa (2 files, +72/-18); checked root pom.xml, hugegraph-server/pom.xml, bin/hugegraph-server.sh, bin/start-hugegraph-pd.sh, bin/start-hugegraph-store.sh, HugeFeatures.java, conf/gremlin-server.yaml, the driver YAML files and docs/server-runtime.md at apache/hugegraph 0b7c0de; git diff --check is clean and the site build checks pass on this head. The stale 1.7.0 master-build paths, the typed GraphSON wording and the 404 upgrade-guide link are already raised on this PR and are not repeated.

Comment thread content/en/docs/quickstart/hugegraph/hugegraph-server.md Outdated
Comment thread content/en/docs/quickstart/hugegraph/hugegraph-server.md Outdated
Comment thread content/en/docs/quickstart/hugegraph/hugegraph-server.md
- Update master source build example versions to 1.8.0
- Qualify typed GraphSON support for simple values and IDs
- Update reference to server-runtime documentation
- Document Java 17-23 security check range and JDK 24+ -s false
- Document g1/G1 and zgc/ZGC options with JVM default collector
- Align PD and Store quickstarts with Java 17 and Maven 3.6.3+ baseline

@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 six threads from the f8450f0 round are fixed and the Java 17, Maven 3.6.3, TinkerPop 3.8.1 and Groovy 4.0.25 statements match apache/hugegraph master, but the new PD and HStore requirement lines say Java 17 or later is enforced by the build while the build accepts only JDK 17, so a reader on JDK 21 following those pages' compile-from-source steps fails; two Minor notes cover pages that still require Java 11 and a stale 1.7.0 example in the Server page's version note. Evidence: read the full diff e6389aa..9ff24e6 (6 files, +94/-34) and the delta f8450f0..9ff24e6; at apache/hugegraph master 06f90a9f0 checked root pom.xml (maven.compiler.release 17, java.supported.version.range [17,18), Maven [3.6.3,), Groovy 4.0.25), hugegraph-server/pom.xml (TinkerPop 3.8.1), .github/workflows/.java-version (17), bin/hugegraph-server.sh, start-hugegraph-pd.sh, start-hugegraph-store.sh, the bundled Gremlin YAML files, HugeFeatures.java and docs/server-runtime.md; mvn -N validate on that commit fails on JDK 26 ("not in the allowed range [17,18)") and passes on JDK 17. git diff --check is clean and the site build checks pass on this head.

- Operating System: Linux or macOS (Windows has not been fully tested)
- Java version: ≥ 11 (enforced by the build and re-checked by `bin/start-hugegraph-store.sh`)
- Maven version: ≥ 3.5.0
- Java version: ≥ 17 for HugeGraph 1.8.0+ (enforced by the build and re-checked by `bin/start-hugegraph-store.sh`; 1.7.0 is the last release supporting Java 11)

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: This line says Java ≥ 17 is "enforced by the build", but the build accepts only JDK 17, so a reader on JDK 21 who follows section 3.2 here fails before compiling. This line came from the fix for the earlier PD/HStore thread.

Evidence, apache/hugegraph master at 06f90a9f0: root pom.xml sets java.supported.version.range to [17,18) ("Java 17 is the only qualified build/runtime release") and the enforcer applies it. mvn -N validate there fails on JDK 26 with "not in the allowed range [17,18)" and passes on JDK 17. Only the start scripts accept newer runtimes. EN hugegraph-pd.md line 28 (beside its own section 3.2), CN hugegraph-hstore.md line 25 and CN hugegraph-pd.md line 28 say the same.

Please split build and run on all four lines, for example "Java 17 for HugeGraph 1.8.0+ (the Maven build accepts only JDK 17; the start script rejects anything older; 1.7.0 is the last release supporting Java 11)".

**Before continuing, run `java -version` to confirm your JDK version.**

> Java 8 is no longer supported starting from 1.7.0. `bin/hugegraph-server.sh` refuses to start on anything older than Java 11.
Starting with HugeGraph 1.8.0, use **Java 17**; **1.7.0 is the last release supporting Java 11**.

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.

Minor: This sets the 1.8.0 boundary, but pages outside this PR still give Java 11 as the requirement for master and the next release.

Evidence at this head: content/en/docs/guides/faq.md line 17 (CN line 17) tells readers with a startup crash to confirm "Java 11 or later". content/en/docs/contribution-guidelines/validate-release.md lines 8, 26 and 140 (CN lines 8, 24 and 129) tell release verifiers to use Java 11, which fails the [17,18) enforcer on master at 06f90a9f0 and will fail for the 1.8.0 vote. hugegraph-server-idea-setup.md line 19 (CN line 18) asks for Java 11 to build master in IDEA, where maven.compiler.release is now 17.

Please update those pages here or in a linked follow-up, scoping Java 11 to 1.7.0 and earlier.

```

The build creates an aggregate master archive under repository-root `target/` (the current source version property is 1.7.0):
The build creates an aggregate master archive under repository-root `target/` (the current source version property is 1.8.0):

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.

Minor: This now says the source version is 1.8.0, but the version-scope note at line 17 of the same page still says a master build is not an ASF release "even if its version number matches 1.7.0". With master at <revision>1.8.0</revision> (apache/hugegraph 06f90a9f0), that example no longer applies.

Please reword line 17 to not tie the master build to 1.7.0, for example "even if its version number matches a release". CN line 17 ("即使包内版本号相同也不代表与 1.7.0 发布包相同") needs the same change.

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