n-WN opened a new pull request, #2884:
URL: https://github.com/apache/incubator-hugegraph/pull/2884
## Purpose of the PR
- Relates to Java 17 migration effort
This PR upgrades Apache TinkerPop from 3.5.1 to 3.7.2 to enable Java 17
compatibility while maintaining Java 11 backward compatibility. TinkerPop 3.7.x
is the first series that officially supports Java 17.
## Main Changes
1) Dependency upgrade
- Bump `tinkerpop.version` from `3.5.1` to `3.7.2` in
`hugegraph-server/pom.xml`.
- Align internal version constant: update `GREMLIN_VERSION = "3.7.2"` in
`hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/version/CoreVersion.java`.
2) API migration (TinkerPop 3.7 breaking changes)
- Switch predicate interfaces from `BiPredicate` to `PBiPredicate`:
-
`hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/query/Condition.java`
-
`hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/ConditionP.java`
-
`hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/traversal/optimize/TraversalUtil.java`
- Update imports for driver message/types due to package relocation
(`driver.*` → `util.*`):
- `Tokens`, `RequestMessage`, `ResponseMessage`, `ResponseStatusCode`
- Modified files:
-
`hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/cypher/CypherClient.java`
-
`hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/opencypher/CypherOpProcessor.java`
3) Gremlin Server configuration migration
- Serializer class names updated to 3.7 naming (removed `d0` suffix) and
package migrated to `org.apache.tinkerpop.gremlin.util.ser.*`:
-
`hugegraph-server/hugegraph-dist/src/assembly/static/conf/gremlin-server.yaml`
-
`hugegraph-server/hugegraph-dist/src/assembly/static/conf/gremlin-driver-settings.yaml`
- `hugegraph-server/hugegraph-dist/src/assembly/static/conf/remote.yaml`
-
`hugegraph-server/hugegraph-dist/src/assembly/static/conf/remote-objects.yaml`
- Raft test configs:
-
`hugegraph-server/hugegraph-dist/src/assembly/travis/conf-raft1/gremlin-server.yaml`
-
`hugegraph-server/hugegraph-dist/src/assembly/travis/conf-raft2/gremlin-server.yaml`
-
`hugegraph-server/hugegraph-dist/src/assembly/travis/conf-raft3/gremlin-server.yaml`
- Docker multi-server cluster configs (server1/2/3) updated for consistency:
- `docker/configs/server1-conf/*`
- `docker/configs/server2-conf/*`
- `docker/configs/server3-conf/*`
4) Test dependency cleanup (separate commit in this PR)
- Remove unused `org.apache.tinkerpop:gremlin-groovy-test:3.2.11` from
`hugegraph-server/hugegraph-test/pom.xml` to avoid version drift and reduce
potential conflicts.
## Verifying these changes
- [x] Already covered by existing tests.
- Build and unit tests pass on Java 11.
- Java 17 build/run will be verified in follow-up CI jobs as part of the
migration.
## Does this PR potentially affect the following parts?
- [x] Dependencies (TinkerPop 3.5.1 → 3.7.2)
- Follow-up release task: update/add license info and regenerate known
dependencies if required by release process:
- `install-dist/scripts/dependency/regenerate_known_dependencies.sh`
- [x] Modify configurations (Gremlin server/driver YAML files updated)
- [ ] The public API
- [ ] Other affects
- [ ] Nope
## Documentation Status
- [x] Doc - No Need
- Internal dependency and configuration migration; no user-facing API
change.
- [ ] Doc - TODO
- [ ] Doc - Done
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]