Skip to content

[Draft] TinkerPop 3.8 Compatibility Upgrade#2955

Draft
chandrakiranbolla1 wants to merge 3 commits intoapache:masterfrom
chandrakiranbolla1:spike/tinkerpop-3.7-upgrade
Draft

[Draft] TinkerPop 3.8 Compatibility Upgrade#2955
chandrakiranbolla1 wants to merge 3 commits intoapache:masterfrom
chandrakiranbolla1:spike/tinkerpop-3.7-upgrade

Conversation

@chandrakiranbolla1
Copy link

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.

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.

1 participant