-
Notifications
You must be signed in to change notification settings - Fork 615
[Question] Java 17 plans? #2723
-
Hello Everyone,
I tried to run HugeGraph on Java 17. I have seen the documentation mentioning it only supports java 11 but was curious how much would work on 17.
Building the project went fine and I could make the Server run and access it through REST. The only issue I have seen is that preload fails because Tinkerpop uses an old groovy version (2.5.15). The same issue prevented me from running the gremlin-client at all. It looks like Tinkerpop went ahead and upgraded groovy to 4.0.23 in 3.7.0 which should solve this, but that upgrade is way out of scope for my testing.
I also checked Hubble, hoping it could be used to fill the gap gremlin-client left. I could build it and start it, but the above groovy issue seems to prevent a working connection.
Java 17 compatibility feels so close. I tried to look for a roadmap or any information regarding moving the projects to java 17 but could not find anything. Could someone please let me know if any public information regarding this exists?
Beta Was this translation helpful? Give feedback.
All reactions
-
😄 1
In fact, our code is fully compatible(building) with Java 17.
As you mentioned, the core issue(while running) is the lower version of gremlin/groovy. We need to upgrade to TinkerPop (TP) Gremlin 3.7+ at the very least (which will bring about quite a few potential changes and impacts. We do have plans to upgrade the TP version, but there are several higher-priority issues waiting to be addressed. We can only hope that someone from the community will take it on, and we will provide as much help as we can).
A known background is to look at how other graphs using gremlin are upgraded from 3.5 to 3.7+. The main task is to check the impact on query statements and breaking changes as I understan...
Replies: 2 comments 1 reply
-
In fact, our code is fully compatible(building) with Java 17.
As you mentioned, the core issue(while running) is the lower version of gremlin/groovy. We need to upgrade to TinkerPop (TP) Gremlin 3.7+ at the very least (which will bring about quite a few potential changes and impacts. We do have plans to upgrade the TP version, but there are several higher-priority issues waiting to be addressed. We can only hope that someone from the community will take it on, and we will provide as much help as we can).
A known background is to look at how other graphs using gremlin are upgraded from 3.5 to 3.7+. The main task is to check the impact on query statements and breaking changes as I understand it. Then TP has a series of related tests to verify correctness. We can allow it to judge the upgrade situation.
- https://github.com/apache/incubator-hugegraph/blob/57e9f56e144184d04ae55ce3e21fad62d9510044/.github/workflows/server-ci.yml#L91
- https://github.com/apache/incubator-hugegraph/blob/57e9f56e144184d04ae55ce3e21fad62d9510044/hugegraph-server/hugegraph-dist/src/assembly/travis/run-tinkerpop-test.sh#L24
@dosu you should also give the users more information about it
Beta Was this translation helpful? Give feedback.
All reactions
-
Hey @imbajin! I'm here to assist you with any bugs, questions, or contributions you have. Let's work together to solve this!
The main challenge with running HugeGraph on Java 17 is the compatibility issue with the older version of Groovy (2.5.15) used by TinkerPop. Upgrading to TinkerPop Gremlin 3.7+, which uses Groovy 4.0.23, would resolve this issue. However, this upgrade involves potential changes and impacts, particularly on query statements and breaking changes.
The run-tinkerpop-test.sh script is used to execute TinkerPop-related tests, ensuring compatibility with Gremlin 3.7+. It runs specific test profiles to verify the structure and process compatibility with the upgraded Gremlin version [1] .
The GitHub Actions workflow file (server-ci.yml) includes steps to run these TinkerPop tests, which are crucial for ensuring compatibility with the upgraded Gremlin version. The CI pipeline currently mentions Java 8, which may need updating to support Java 17 as the project evolves.
While the code is compatible with Java 17 in terms of building, the runtime issues due to the Groovy version remain. The maintainers have plans to upgrade TinkerPop but are currently addressing higher-priority issues. They are open to community contributions to expedite this process.
To continue talking to Dosu, mention @dosu.
Help Dosu learn! Give it feedback: Great Response | Irrelevant Answer | Incorrect Sources | Too Verbose | Hallucination | Other
Beta Was this translation helpful? Give feedback.
All reactions
-
Thanks @imbajin for the quick answer!
Beta Was this translation helpful? Give feedback.