Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[Draft] TinkerPop 3.8 Compatibility Upgrade#2955

Draft
chandrakiranbolla1 wants to merge 3 commits into
apache:master from
chandrakiranbolla1:spike/tinkerpop-3.7-upgrade
Draft

[Draft] TinkerPop 3.8 Compatibility Upgrade #2955
chandrakiranbolla1 wants to merge 3 commits into
apache:master from
chandrakiranbolla1:spike/tinkerpop-3.7-upgrade

Conversation

@chandrakiranbolla1

@chandrakiranbolla1 chandrakiranbolla1 commented Feb 26, 2026

Copy link
Copy Markdown

Summary

This draft PR begins migration of HugeGraph from TinkerPop 3.5.x to 3.8.0.

The goal is to align HugeGraph with TinkerPop 3.8 while preserving compatibility with:

  • tinkerpop-structure-test
  • tinkerpop-process-test

This PR introduces initial compatibility adjustments required for core traversal and predicate handling.


Completed So Far

Dependency & Driver Changes

  • Removed gremlin-shaded
  • Migrated driver classes (RequestMessage, ResponseMessage, Tokens) to gremlin-util

Core Adjustments

  • Updated traversal optimize layer for 3.8 generics changes
  • Adapted HugePrimaryKeyStrategy for Mutating API updates
  • Migrated ConditionP to align with 3.8 P API
  • Partial predicate handling alignment

Build Status

  • hugegraph-core builds successfully
  • Select predicate-based tests pass
  • Full suite currently has categorized failures (see below)

Current Test Status

Full reactor build completes.

Failing areas currently under investigation:

  1. Nested predicate handling (NotP, multi-layer AND/OR)
  2. Search/index behavior changes
  3. Property type behavior
  4. Parent/SubEdge condition handling
  5. Multi-graph backend initialization edge cases

Next step is to complete recursive predicate tree conversion and map pass/fail status to avoid redundant reruns.


Breaking Changes Observed (3.5 → 3.8)

Preliminary migration notes:

  • PBiPredicate.of(...) removed
  • P.getOriginalValue() removed
  • NotP API changed (uses getPredicates() instead of getPredicate())
  • Predicate nesting behavior differs
  • Text predicate internals differ

A structured breaking-change list will be maintained as migration progresses.


Next Steps

  • Complete recursive predicate tree handling for NotP, AndP, OrP
  • Categorize failing tests by root cause
  • Ensure full pass on memory backend
  • Validate RocksDB/HStore backend compatibility

This PR is intentionally opened as Draft to enable early review and incremental alignment with the roadmap.

Feedback is welcome.

Copy link
Copy Markdown

Due to the lack of activity, the current pr is marked as stale and will be closed after 180 days, any update will remove the stale label

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

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

1 participant

AltStyle によって変換されたページ (->オリジナル) /