Conversation
- Poll the Raft readiness endpoint before client tests - Accept only HTTP 200 as a ready PD response - Prevent authentication failures from passing startup checks
- Inherit the PD readiness wait from the foundation branch - Keep the query semantics changes unchanged - Preserve existing stack ancestry for downstream pull requests
- Close committed fallback iterators on success and failure - Assert that count optimization retains the ordering barrier - Cover cleanup through the primary-key count fallback path
- limit backend count to traversal start scans - cover repeated scans, input bulk and explicit ids - document intermediate scan count semantics
This was referenced Oct 3, 2026
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #3262 +/- ##
============================================
- Coverage 41.60% 37.15% -4.46%
+ Complexity 7320 1741 -5579
============================================
Files 794 255 -539
Lines 69127 17546 -51581
Branches 9258 1894 -7364
============================================
- Hits 28761 6519 -22242
+ Misses 37091 10495 -26596
+ Partials 3275 532 -2743 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
25 tasks
- remove Commons from required checks - require the Java 17 memory Server check - retain analysis and license checks
- avoid claiming TinkerPop 3.8.1 in the foundation - describe shared TinkerPop and Kryo access needs - retain the test and runtime permission boundary
- update both Store dependencies to Fastjson 1.2.84 - align the release license and dependency inventory - retain the Fastjson 1.x dependency contract
- inherit the Fastjson security patch - align required checks with Java 17 - retain consistent test JVM guidance
- override the legacy client transitive dependency - retain the existing client and production versions - remove obsolete release inventory entries
- inherit the cluster Commons Text override - retain the query behavior and client version - align release dependency metadata
3 of 9 tasks
Move existing controller cases into the Store test module. Select the controller class in the core test profile. Retain the existing validation assertions.
Inherit the controller test relocation. Select validation cases in the Store core test profile. Preserve the query semantics changes.
Use the existing Node JUnit Platform provider. Keep controller tests alongside the Node implementation. Remove the cross-module core test include.
Adopt the Java-independent memory test gate. Use the shared runtime definition with the Java 17 baseline. Preserve foundation validation and platform contracts.
Carry the version-independent memory test gate. Keep the Java 17 query validation baseline. Preserve the reviewed predicate and count fixes.
Cover native ID equality with local text predicates. Verify counts and pagination with strategies on and off. Keep ordinary ID lookup routes covered.
Set the Commons and RPC compiler release to 11. Keep Java 17 as the build and service runtime baseline. Document the published library compatibility contract.
Manage Ivy consistently across the upgrade series. Update bundled dependency and licensing metadata. Verify Gremlin and fresh Grape class loading.
Keep Commons and RPC bytecode compatible with Java 11. Use patched Ivy with matching release metadata. Retain the conservative query regression coverage.
Inspect label elements without probing collections for null. Retain local filtering for predicates containing null labels. Cover immutable and nullable collections in query regressions.
Filter removed IDs before matching transaction records. Cover vertex, edge and self-loop reads and re-adds. Document pending index-update query boundaries.
- Keep one active run per workflow and PR - Preserve push and manual workflow executions - Cover CI workflows on this PR target branch
- Keep one active run per workflow and PR - Preserve push and manual workflow executions - Cover CI workflows on this PR target branch
- incorporate the upstream Helm deployment chart - retain the foundation build and dependency changes - preserve existing Java sources and POM files
- merge the remote PR concurrency updates - keep the upstream master synchronization - preserve the validated Java and POM content
- incorporate the upstream Helm deployment chart - preserve the query and concurrent CI updates - retain the existing Java sources and POM files
- Cover the newly added Helm workflow - Keep the latest Helm checks per PR - Preserve concurrent branch changes
- Cover the newly added Helm workflow - Keep the latest Helm checks per PR - Preserve concurrent branch changes
Quote JVM option files and the process build directory. Load RPC test configuration through a decoded file URI. Enable Commons tests in the local build script.
Merge validated JVM argument quoting from foundation. Retain decoded RPC fixture resource paths. Include the Commons test-enabled local entry point.
Preserve the independently added Helm concurrency rule. Keep validated test path and resource fixes. Retain a normal fast-forward push history.
Merge the finalized foundation test setup. Preserve its independent Helm concurrency update. Retain validated query behavior and branch history.
Keep the parallel query branch CI commit. Preserve the finalized test setup and query fixes. Maintain a normal fast-forward push history.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose of the PR
Part 2 of a three-PR upgrade series targeting
apache/hugegraph:master. Preserve transaction count and predicate semantics while retaining TinkerPop 3.5.1.Merge order: apache#3261 (Java 17 foundation) → apache#3262 (query semantics) → apache#3263 (TinkerPop upgrade). All three PRs target
masterdirectly. Merge this PR after apache#3261. Until the prerequisite is merged, the Files changed tab includes its changes; the part-2-only diff is available in community #232.Source: hugegraph/hugegraph#232, submitted directly from
hugegraph:task/tp381-2-query-semantics. The local validation statements below are carried over from that source PR; CI on this ASF PR head remains the merge gate.Relationship to other work
This three-part series is the split delivery path for the modernization tracked in apache#3117 and issue #3069. BREAKING CHANGE(server): upgrade Java17 + TP3.7 + Groovy4 #3117's current code also targets TinkerPop 3.8.1; the series is intended to replace that monolithic delivery, rather than add another independent upgrade.
Generic label/ID/SEARCH condition resolution and selective predicate pushdown remain with apache#2994, issue #3201 and candidate-index coverage in apache#3243. This series retains whole-step local filtering and transaction/count fixes; it adds no generalized partial extraction or optimizer-time index-coverage heuristic. Existing special handling around match() and connective label filters is inherited from master.
community #260 relocates shared query/model types, and community #261 changes transaction lifecycle. Their overlapping engine files need integration coordination; those migrations are not folded into this series.
Single-ID query fast paths (apache#3175, apache#2859) and adjacency-query optimization (apache#2864) remain separate performance work. Cypher parameter binding (community #238) and error mapping (apache#3259, apache#3241) remain separate behavior changes; part 3 only adapts upgraded transport APIs and result normalization.
The Java 17 launcher checks also cover the older Java 11 startup-check goal in apache#2846. Configurable distribution paths (apache#3253) and restart diagnostics (apache#3258) touch the same scripts and remain separate integration work.
Main Changes
TinkerPop-specific
NotP, serializer and step-API changes remain in part 3. This PR still compiles and runs against TinkerPop 3.5.1.Verifying these changes
CountStrategyCoreTest,TraversalUtilOptimizeTest,GraphTransactionTest, andQueryListTest.Does this PR potentially affect the following parts?
Documentation Status
Doc - TODODoc - DoneDoc - No NeedDocumentation:
docs/query-semantics.md.Review follow-up
List.of(...)andSet.of(...)are inspected by iteration; predicates that actually contain null labels retain local filtering. Optimizer and query regressions cover both cases.CI on the updated PR head remains separate verification.