Skip to content

TINKERPOP-3059: Prevent repeated option() calls to merge steps - #3714

Open
Iryna-Kahamlyk wants to merge 2 commits into
apache:3.7-devfrom
Iryna-Kahamlyk:TINKERPOP-3059
Open

Iryna-Kahamlyk wants to merge 2 commits into
apache:3.7-devfrom
Iryna-Kahamlyk:TINKERPOP-3059

Conversation

@Iryna-Kahamlyk

Copy link
Copy Markdown
Contributor

JIRA: https://issues.apache.org/jira/browse/TINKERPOP-3059

Summary

Prevented repeated option(onCreate), option(onMatch), option(outV) and option(inV) calls on mergeV() and mergeE(), which now throw an IllegalArgumentException instead of silently keeping only the last one.

@codecov-commenter

codecov-commenter commented Oct 9, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 55.00000% with 9 lines in your changes missing coverage. Please review.
✅ Project coverage is 75.96%. Comparing base (4722890) to head (7d453a0).
⚠️ Report is 159 commits behind head on 3.7-dev.

Files with missing lines Patch % Lines
...pache/tinkerpop/gremlin/jsr223/JavaTranslator.java 25.00% 6 Missing ⚠️
...che/tinkerpop/gremlin/features/StepDefinition.java 25.00% 1 Missing and 2 partials ⚠️
Additional details and impacted files
@@              Coverage Diff              @@
##             3.7-dev    #3714      +/-   ##
=============================================
+ Coverage      75.49%   75.96%   +0.46%     
- Complexity     13161    13325     +164     
=============================================
  Files           1092     1095       +3     
  Lines          67208    67586     +378     
  Branches        7391     7459      +68     
=============================================
+ Hits           50742    51339     +597     
+ Misses         13837    13588     -249     
- Partials        2629     2659      +30     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@kenhuuu

kenhuuu commented Oct 10, 2026

Copy link
Copy Markdown
Contributor

Change in semantics requires an update to docs/src/dev/provider/gremlin-semantics.asciidoc.

@kenhuuu

kenhuuu commented Oct 10, 2026

Copy link
Copy Markdown
Contributor

The added unit tests are good and directly test the implemented fix however it doesn't actually test option(). What's needed to cover this are feature tests. In the 3.8-dev branch you can assert for errors during traversal construction due a small change in the test harness. I think you should backport that harness fix and add feature tests for this change.

@spmallette

Copy link
Copy Markdown
Contributor

For committers - Created PR root bead: tp-ddu

🤖 Agent assisted comment.

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.

4 participants