apache / apache/hugegraph

[Bug]JDK: 17 (Corretto 17) Gremlin job tests fail due to Groovy 2.5.14 (Unsupported class file major version 61)

Open
#2,954 2 comments 0 reactions 0 assignees Claimed by @chandrakiranbolla1 View on GitHub
bug gremlin
Dominant language
Java
Stars
3.2k
Forks
636
Avg merge
3d 11h
Merged PRs (30d)
14

Description

### Bug Type (问题类型)

others (please edit later)

### Before submit

- [x] 我已经确认现有的 [Issues](https://github.com/apache/hugegraph/issues) 与 [FAQ](https://hugegraph.apache.org/docs/guides/faq/) 中没有相同 / 重复问题 (I have confirmed and searched that there are no similar problems in the historical issue and documents)

### Environment (环境信息)

- HugeGraph Version: master (latest commit)
- Build Mode: mvn clean test
- JDK: 17 (Corretto 17)
- OS: macOS
- Backend: In-memory (test execution)

Note:
All tests pass when running under Java 11.
Failures occur only under Java 17.

### Expected & Actual behavior (期望与实际表现)

Expected Behavior:
All core tests should pass when running under Java 17.

Actual Behavior:
Gremlin job-related tests fail with task status FAILED instead of SUCCESS or CANCELLING.

Failing tests:
- TaskCoreTest.testGremlinJob
- TaskCoreTest.testGremlinJobAndCancel
- TaskCoreTest.testGremlinJobAndRestore
- TaskCoreTest.testGremlinJobWithScript
- TaskCoreTest.testGremlinJobWithSerializedResults

Exception:
javax.script.ScriptException:
java.util.concurrent.ExecutionException:
BUG! exception in phase 'semantic analysis' in source unit 'Script1.groovy'
Unsupported class file major version 61

Major version 61 corresponds to Java 17 bytecode.

Dependency Analysis:
org.apache.tinkerpop:gremlin-groovy:3.5.1
org.codehaus.groovy:groovy:2.5.14

Groovy 2.5.x does not fully support Java 17 bytecode analysis.

## Context:
Related discussion / issues / pr:
- https://github.com/apache/incubator-hugegraph/discussions/2723
- https://github.com/apache/incubator-hugegraph/pull/2884

Related roadmap item:
https://issues.apache.org/jira/browse/GSOC-317

### Vertex/Edge example (问题点 / 边数据举例)

```javascript
Not applicable.

This issue is related to build/runtime incompatibility between Java 17 and Groovy 2.5.14.
It does not involve specific vertex/edge data, REST queries, or schema definitions.
```

### Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)

```javascript
Not applicable.

This issue is related to build/runtime incompatibility between Java 17 and Groovy 2.5.14.
It does not involve specific vertex/edge data, REST queries, or schema definitions.
```

Contributor guide

Open the contributing guide

Research direction

Start by running the five listed TaskCoreTest Gremlin-job tests under Java 17 and Java 11 to reproduce the difference. Then inspect the gremlin-groovy 3.5.1 and Groovy 2.5.14 dependency path, along with open PR 2955 and the linked discussion. Done means those tests reach their expected SUCCESS or CANCELLING statuses on Java 17.

Written by the indexing model from the issue text.

Assessment

Tech stack
groovy, java
Domain
databases, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.