[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions
[ https://issues.apache.org/jira/browse/TINKERPOP-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17830726#comment-17830726 ] Cole Greer commented on TINKERPOP-3056: --- Resolved through a pair of follow-on fix CTR commits: 3.6-dev: https://github.com/apache/tinkerpop/commit/f7c64dabf07f6d5008bf457690b85b6a86d2c924 Master (4.x): https://github.com/apache/tinkerpop/commit/3015f370431aa890492c33f94fa31138a0099d92 > mergeE is updating vertices in certain conditions > - > > Key: TINKERPOP-3056 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3056 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.6.6 >Reporter: Stephen Mallette >Assignee: Stephen Mallette >Priority: Blocker > Fix For: 4.0.0, 3.6.7, 3.7.2 > > > {code} > gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', > 1).as('a'). > ..1> addV('mytestlabel').property(id, 'testA2').property('timestamp', > 1).as('a2'). > ..2> addE('mytestlabel').from('a').to('a2').property('timestamp', > 2).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', > (Direction.to):'testA2']). > ..1> option(onMatch, sideEffect(property(single, 'timestamp', > 4).property(single, 'edgelabel', 'exists')). > ..2> constant([:])).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().valueMap(true) > ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions
[ https://issues.apache.org/jira/browse/TINKERPOP-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17817147#comment-17817147 ] ASF GitHub Bot commented on TINKERPOP-3056: --- spmallette merged PR #2487: URL: https://github.com/apache/tinkerpop/pull/2487 > mergeE is updating vertices in certain conditions > - > > Key: TINKERPOP-3056 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3056 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.6.6 >Reporter: Stephen Mallette >Priority: Blocker > > {code} > gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', > 1).as('a'). > ..1> addV('mytestlabel').property(id, 'testA2').property('timestamp', > 1).as('a2'). > ..2> addE('mytestlabel').from('a').to('a2').property('timestamp', > 2).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', > (Direction.to):'testA2']). > ..1> option(onMatch, sideEffect(property(single, 'timestamp', > 4).property(single, 'edgelabel', 'exists')). > ..2> constant([:])).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().valueMap(true) > ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions
[ https://issues.apache.org/jira/browse/TINKERPOP-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17817101#comment-17817101 ] ASF GitHub Bot commented on TINKERPOP-3056: --- Cole-Greer commented on PR #2487: URL: https://github.com/apache/tinkerpop/pull/2487#issuecomment-1942116756 LGTM VOTE +1 > mergeE is updating vertices in certain conditions > - > > Key: TINKERPOP-3056 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3056 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.6.6 >Reporter: Stephen Mallette >Priority: Blocker > > {code} > gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', > 1).as('a'). > ..1> addV('mytestlabel').property(id, 'testA2').property('timestamp', > 1).as('a2'). > ..2> addE('mytestlabel').from('a').to('a2').property('timestamp', > 2).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', > (Direction.to):'testA2']). > ..1> option(onMatch, sideEffect(property(single, 'timestamp', > 4).property(single, 'edgelabel', 'exists')). > ..2> constant([:])).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().valueMap(true) > ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions
[ https://issues.apache.org/jira/browse/TINKERPOP-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17817094#comment-17817094 ] ASF GitHub Bot commented on TINKERPOP-3056: --- xiazcy commented on PR #2487: URL: https://github.com/apache/tinkerpop/pull/2487#issuecomment-1942092498 VOTE +1 > mergeE is updating vertices in certain conditions > - > > Key: TINKERPOP-3056 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3056 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.6.6 >Reporter: Stephen Mallette >Priority: Blocker > > {code} > gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', > 1).as('a'). > ..1> addV('mytestlabel').property(id, 'testA2').property('timestamp', > 1).as('a2'). > ..2> addE('mytestlabel').from('a').to('a2').property('timestamp', > 2).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', > (Direction.to):'testA2']). > ..1> option(onMatch, sideEffect(property(single, 'timestamp', > 4).property(single, 'edgelabel', 'exists')). > ..2> constant([:])).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().valueMap(true) > ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions
[ https://issues.apache.org/jira/browse/TINKERPOP-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17817091#comment-17817091 ] ASF GitHub Bot commented on TINKERPOP-3056: --- vkagamlyk commented on PR #2487: URL: https://github.com/apache/tinkerpop/pull/2487#issuecomment-1942076338 VOTE +1 not exactly related to the current ticket, but is there same issue for `MergeV`? > mergeE is updating vertices in certain conditions > - > > Key: TINKERPOP-3056 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3056 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.6.6 >Reporter: Stephen Mallette >Priority: Blocker > > {code} > gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', > 1).as('a'). > ..1> addV('mytestlabel').property(id, 'testA2').property('timestamp', > 1).as('a2'). > ..2> addE('mytestlabel').from('a').to('a2').property('timestamp', > 2).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', > (Direction.to):'testA2']). > ..1> option(onMatch, sideEffect(property(single, 'timestamp', > 4).property(single, 'edgelabel', 'exists')). > ..2> constant([:])).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().valueMap(true) > ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions
[ https://issues.apache.org/jira/browse/TINKERPOP-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17817085#comment-17817085 ] ASF GitHub Bot commented on TINKERPOP-3056: --- spmallette commented on code in PR #2487: URL: https://github.com/apache/tinkerpop/pull/2487#discussion_r1488293645 ## gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/MergeEdge.feature: ## @@ -841,3 +841,45 @@ Feature: Step - mergeE() """ When iterated to list Then the traversal will raise an error with message containing text of "Property key can not be a hidden key: ~label" + + Scenario: g_V_mergeEXlabel_knows_out_marko_in_vadasX_optionXonMatch_sideEffectXpropertyXweight_0XX_constantXemptyXX +Given the empty graph +And the graph initializer of + """ + g.addV("person").property("name", "marko").as("a"). +addV("person").property("name", "vadas").as("b"). +addE("knows").property("weight", 1).from("a").to("b") + """ +And using the parameter xx1 defined as "m[{\"t[label]\": \"knows\", \"D[OUT]\":\"v[marko]\", \"D[IN]\":\"v[vadas]\"}]" +And the traversal of + """ + g.V().mergeE(xx1). + option(Merge.onMatch, __.sideEffect(__.property("weight", 0)).constant([:])) + """ +When iterated to list +Then the result should have a count of 2 +And the graph should return 2 for count of "g.V()" +And the graph should return 0 for count of "g.E().hasLabel(\"knows\").has(\"weight\",1)" +And the graph should return 1 for count of "g.E().hasLabel(\"knows\").has(\"weight\",0)" +And the graph should return 0 for count of "g.V().hasLabel(\"knows\").has(\"weight\")" Review Comment: bad cut/paste - fixed both - thanks. > mergeE is updating vertices in certain conditions > - > > Key: TINKERPOP-3056 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3056 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.6.6 >Reporter: Stephen Mallette >Priority: Blocker > > {code} > gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', > 1).as('a'). > ..1> addV('mytestlabel').property(id, 'testA2').property('timestamp', > 1).as('a2'). > ..2> addE('mytestlabel').from('a').to('a2').property('timestamp', > 2).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', > (Direction.to):'testA2']). > ..1> option(onMatch, sideEffect(property(single, 'timestamp', > 4).property(single, 'edgelabel', 'exists')). > ..2> constant([:])).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().valueMap(true) > ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions
[ https://issues.apache.org/jira/browse/TINKERPOP-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17817067#comment-17817067 ] ASF GitHub Bot commented on TINKERPOP-3056: --- vkagamlyk commented on code in PR #2487: URL: https://github.com/apache/tinkerpop/pull/2487#discussion_r1488216500 ## gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/MergeEdge.feature: ## @@ -841,3 +841,45 @@ Feature: Step - mergeE() """ When iterated to list Then the traversal will raise an error with message containing text of "Property key can not be a hidden key: ~label" + + Scenario: g_V_mergeEXlabel_knows_out_marko_in_vadasX_optionXonMatch_sideEffectXpropertyXweight_0XX_constantXemptyXX +Given the empty graph +And the graph initializer of + """ + g.addV("person").property("name", "marko").as("a"). +addV("person").property("name", "vadas").as("b"). +addE("knows").property("weight", 1).from("a").to("b") + """ +And using the parameter xx1 defined as "m[{\"t[label]\": \"knows\", \"D[OUT]\":\"v[marko]\", \"D[IN]\":\"v[vadas]\"}]" +And the traversal of + """ + g.V().mergeE(xx1). + option(Merge.onMatch, __.sideEffect(__.property("weight", 0)).constant([:])) + """ +When iterated to list +Then the result should have a count of 2 +And the graph should return 2 for count of "g.V()" +And the graph should return 0 for count of "g.E().hasLabel(\"knows\").has(\"weight\",1)" +And the graph should return 1 for count of "g.E().hasLabel(\"knows\").has(\"weight\",0)" +And the graph should return 0 for count of "g.V().hasLabel(\"knows\").has(\"weight\")" + + Scenario: g_mergeEXlabel_knows_out_marko_in_vadasX_optionXonMatch_sideEffectXpropertyXweight_0XX_constantXemptyXX +Given the empty graph +And the graph initializer of + """ + g.addV("person").property("name", "marko").as("a"). +addV("person").property("name", "vadas").as("b"). +addE("knows").property("weight", 1).from("a").to("b") + """ +And using the parameter xx1 defined as "m[{\"t[label]\": \"knows\", \"D[OUT]\":\"v[marko]\", \"D[IN]\":\"v[vadas]\"}]" +And the traversal of + """ + g.mergeE(xx1). + option(Merge.onMatch, __.sideEffect(__.property("weight", 0)).constant([:])) + """ +When iterated to list +Then the result should have a count of 1 +And the graph should return 2 for count of "g.V()" +And the graph should return 0 for count of "g.E().hasLabel(\"knows\").has(\"weight\",1)" +And the graph should return 1 for count of "g.E().hasLabel(\"knows\").has(\"weight\",0)" +And the graph should return 0 for count of "g.V().hasLabel(\"knows\").has(\"weight\")" Review Comment: ```suggestion And the graph should return 0 for count of "g.V().has(\"weight\")" ``` > mergeE is updating vertices in certain conditions > - > > Key: TINKERPOP-3056 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3056 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.6.6 >Reporter: Stephen Mallette >Priority: Blocker > > {code} > gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', > 1).as('a'). > ..1> addV('mytestlabel').property(id, 'testA2').property('timestamp', > 1).as('a2'). > ..2> addE('mytestlabel').from('a').to('a2').property('timestamp', > 2).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', > (Direction.to):'testA2']). > ..1> option(onMatch, sideEffect(property(single, 'timestamp', > 4).property(single, 'edgelabel', 'exists')). > ..2> constant([:])).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().valueMap(true) > ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions
[ https://issues.apache.org/jira/browse/TINKERPOP-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17817066#comment-17817066 ] ASF GitHub Bot commented on TINKERPOP-3056: --- vkagamlyk commented on code in PR #2487: URL: https://github.com/apache/tinkerpop/pull/2487#discussion_r1488215072 ## gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/MergeEdge.feature: ## @@ -841,3 +841,45 @@ Feature: Step - mergeE() """ When iterated to list Then the traversal will raise an error with message containing text of "Property key can not be a hidden key: ~label" + + Scenario: g_V_mergeEXlabel_knows_out_marko_in_vadasX_optionXonMatch_sideEffectXpropertyXweight_0XX_constantXemptyXX +Given the empty graph +And the graph initializer of + """ + g.addV("person").property("name", "marko").as("a"). +addV("person").property("name", "vadas").as("b"). +addE("knows").property("weight", 1).from("a").to("b") + """ +And using the parameter xx1 defined as "m[{\"t[label]\": \"knows\", \"D[OUT]\":\"v[marko]\", \"D[IN]\":\"v[vadas]\"}]" +And the traversal of + """ + g.V().mergeE(xx1). + option(Merge.onMatch, __.sideEffect(__.property("weight", 0)).constant([:])) + """ +When iterated to list +Then the result should have a count of 2 +And the graph should return 2 for count of "g.V()" +And the graph should return 0 for count of "g.E().hasLabel(\"knows\").has(\"weight\",1)" +And the graph should return 1 for count of "g.E().hasLabel(\"knows\").has(\"weight\",0)" +And the graph should return 0 for count of "g.V().hasLabel(\"knows\").has(\"weight\")" Review Comment: ```suggestion And the graph should return 0 for count of "g.V().has(\"weight\")" ``` > mergeE is updating vertices in certain conditions > - > > Key: TINKERPOP-3056 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3056 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.6.6 >Reporter: Stephen Mallette >Priority: Blocker > > {code} > gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', > 1).as('a'). > ..1> addV('mytestlabel').property(id, 'testA2').property('timestamp', > 1).as('a2'). > ..2> addE('mytestlabel').from('a').to('a2').property('timestamp', > 2).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', > (Direction.to):'testA2']). > ..1> option(onMatch, sideEffect(property(single, 'timestamp', > 4).property(single, 'edgelabel', 'exists')). > ..2> constant([:])).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().valueMap(true) > ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions
[ https://issues.apache.org/jira/browse/TINKERPOP-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17817028#comment-17817028 ] ASF GitHub Bot commented on TINKERPOP-3056: --- codecov-commenter commented on PR #2487: URL: https://github.com/apache/tinkerpop/pull/2487#issuecomment-1941684720 ## [Codecov](https://app.codecov.io/gh/apache/tinkerpop/pull/2487?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report All modified and coverable lines are covered by tests :white_check_mark: > Comparison is base [(`c7f3d24`)](https://app.codecov.io/gh/apache/tinkerpop/commit/c7f3d2454a654cea57c2a99077d859b115fec4c3?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) 75.15% compared to head [(`7c99643`)](https://app.codecov.io/gh/apache/tinkerpop/pull/2487?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) 75.16%. Additional details and impacted files ```diff @@Coverage Diff @@ ## 3.6-dev#2487 +/- ## == Coverage 75.15% 75.16% - Complexity 1235112352+1 == Files 1058 1058 Lines 6361063610 Branches6962 6962 == + Hits 4780647812+6 + Misses 1322413217-7 - Partials2580 2581+1 ``` [:umbrella: View full report in Codecov by Sentry](https://app.codecov.io/gh/apache/tinkerpop/pull/2487?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache). :loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache). > mergeE is updating vertices in certain conditions > - > > Key: TINKERPOP-3056 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3056 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.6.6 >Reporter: Stephen Mallette >Priority: Blocker > > {code} > gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', > 1).as('a'). > ..1> addV('mytestlabel').property(id, 'testA2').property('timestamp', > 1).as('a2'). > ..2> addE('mytestlabel').from('a').to('a2').property('timestamp', > 2).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', > (Direction.to):'testA2']). > ..1> option(onMatch, sideEffect(property(single, 'timestamp', > 4).property(single, 'edgelabel', 'exists')). > ..2> constant([:])).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().valueMap(true) > ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions
[ https://issues.apache.org/jira/browse/TINKERPOP-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17817018#comment-17817018 ] ASF GitHub Bot commented on TINKERPOP-3056: --- spmallette opened a new pull request, #2487: URL: https://github.com/apache/tinkerpop/pull/2487 https://issues.apache.org/jira/browse/TINKERPOP-3056 Since the current traverser was only being updated onMatch when it was used as a start step doing mutations in a sideEffect() would update whatever the current traverser was. This code may have been leftover from a time when the merge steps operated more readily on the current traverser as an argument to the step. VOTE +1 > mergeE is updating vertices in certain conditions > - > > Key: TINKERPOP-3056 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3056 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.6.6 >Reporter: Stephen Mallette >Priority: Blocker > > {code} > gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', > 1).as('a'). > ..1> addV('mytestlabel').property(id, 'testA2').property('timestamp', > 1).as('a2'). > ..2> addE('mytestlabel').from('a').to('a2').property('timestamp', > 2).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', > (Direction.to):'testA2']). > ..1> option(onMatch, sideEffect(property(single, 'timestamp', > 4).property(single, 'edgelabel', 'exists')). > ..2> constant([:])).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().valueMap(true) > ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)