[jira] [Commented] (TINKERPOP-2811) ElementIdStrategy doesn't replace all references of an element's id with the specified custom id property
[ https://issues.apache.org/jira/browse/TINKERPOP-2811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17775931#comment-17775931 ] ASF GitHub Bot commented on TINKERPOP-2811: --- codecov-commenter commented on PR #2293: URL: https://github.com/apache/tinkerpop/pull/2293#issuecomment-1765340124 ## [Codecov](https://app.codecov.io/gh/apache/tinkerpop/pull/2293?src=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache) Report > Merging [#2293](https://app.codecov.io/gh/apache/tinkerpop/pull/2293?src=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache) (8663ca7) into [3.6-dev](https://app.codecov.io/gh/apache/tinkerpop/commit/097b32e9171164048e0e5334d83afe329eed1775?el=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache) (097b32e) will **decrease** coverage by `4.06%`. > The diff coverage is `n/a`. ```diff @@ Coverage Diff @@ ## 3.6-dev#2293 +/- ## = - Coverage 75.24% 71.18% -4.06% = Files 1056 25-1031 Lines 63352 3766 -59586 Branches69230-6923 = - Hits 47670 2681 -44989 + Misses 13116 898 -12218 + Partials2566 187-2379 ``` [see 1031 files with indirect coverage changes](https://app.codecov.io/gh/apache/tinkerpop/pull/2293/indirect-changes?src=pr=tree-more_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache) :mega: We’re building smart automated test selection to slash your CI/CD build times. [Learn more](https://about.codecov.io/iterative-testing/?utm_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache) > ElementIdStrategy doesn't replace all references of an element's id with the > specified custom id property > - > > Key: TINKERPOP-2811 > URL: https://issues.apache.org/jira/browse/TINKERPOP-2811 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.4.0, 3.6.1 >Reporter: Cameron Smith >Priority: Minor > > When using the ElementIdStrategy, if a traversal attempts to filter graph > elements with multiple _has_ steps and the id filter is not the first > property to be filtered on, then the reference to the element's id is not > replaced with the custom id property during the ElementIdStrategy's mutation > of the traversal: > {noformat} > gremlin> graph = TinkerGraph.open() > ==>tinkergraph[vertices:0 edges:0] > gremlin> g = > graph.traversal().withStrategies(ElementIdStrategy.build().create()) > ==>graphtraversalsource[tinkergraph[vertices:0 edges:0], standard] > gremlin> g.V().hasId("foo").has("name", "bar").explain() > ==>Traversal Explanation > === > Original Traversal [GraphStep(vertex,[]), > HasStep([~id.eq(foo), name.eq(bar)])] > ConnectiveStrategy [D] [GraphStep(vertex,[]), > HasStep([~id.eq(foo), name.eq(bar)])] > ElementIdStrategy [D] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > IdentityRemovalStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > MatchPredicateStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > FilterRankingStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > InlineFilterStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > IncidentToAdjacentStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > AdjacentToIncidentStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > EarlyLimitStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > ByModulatorOptimizationStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > RepeatUnrollStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > CountStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > PathRetractionStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > LazyBarrierStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > TinkerGraphCountStrategy [P] [GraphStep(vertex,[]),
[jira] [Commented] (TINKERPOP-2811) ElementIdStrategy doesn't replace all references of an element's id with the specified custom id property
[ https://issues.apache.org/jira/browse/TINKERPOP-2811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17775929#comment-17775929 ] ASF GitHub Bot commented on TINKERPOP-2811: --- spmallette opened a new pull request, #2293: URL: https://github.com/apache/tinkerpop/pull/2293 https://issues.apache.org/jira/browse/TINKERPOP-2811 Since HasContainer rolls up sequential has() steps checking the first item in the HasContainer only might not catch the id that needs to be replaced. VOTE +1 > ElementIdStrategy doesn't replace all references of an element's id with the > specified custom id property > - > > Key: TINKERPOP-2811 > URL: https://issues.apache.org/jira/browse/TINKERPOP-2811 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.4.0, 3.6.1 >Reporter: Cameron Smith >Priority: Minor > > When using the ElementIdStrategy, if a traversal attempts to filter graph > elements with multiple _has_ steps and the id filter is not the first > property to be filtered on, then the reference to the element's id is not > replaced with the custom id property during the ElementIdStrategy's mutation > of the traversal: > {noformat} > gremlin> graph = TinkerGraph.open() > ==>tinkergraph[vertices:0 edges:0] > gremlin> g = > graph.traversal().withStrategies(ElementIdStrategy.build().create()) > ==>graphtraversalsource[tinkergraph[vertices:0 edges:0], standard] > gremlin> g.V().hasId("foo").has("name", "bar").explain() > ==>Traversal Explanation > === > Original Traversal [GraphStep(vertex,[]), > HasStep([~id.eq(foo), name.eq(bar)])] > ConnectiveStrategy [D] [GraphStep(vertex,[]), > HasStep([~id.eq(foo), name.eq(bar)])] > ElementIdStrategy [D] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > IdentityRemovalStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > MatchPredicateStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > FilterRankingStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > InlineFilterStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > IncidentToAdjacentStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > AdjacentToIncidentStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > EarlyLimitStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > ByModulatorOptimizationStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > RepeatUnrollStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > CountStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > PathRetractionStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > LazyBarrierStrategy [O] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > TinkerGraphCountStrategy [P] [GraphStep(vertex,[]), > HasStep([__id.eq(foo), name.eq(bar)])] > TinkerGraphStepStrategy [P] [TinkerGraphStep(vertex,[__id.eq(foo), > name.eq(bar)])] > TinkerMergeEVStepStrategy [P] [TinkerGraphStep(vertex,[__id.eq(foo), > name.eq(bar)])] > ProfileStrategy [F] [TinkerGraphStep(vertex,[__id.eq(foo), > name.eq(bar)])] > StandardVerificationStrategy [V] [TinkerGraphStep(vertex,[__id.eq(foo), > name.eq(bar)])] > Final Traversal [TinkerGraphStep(vertex,[__id.eq(foo), > name.eq(bar)])] > gremlin> g.V().has("name", "bar").hasId("foo").explain() > ==>Traversal Explanation > == > Original Traversal [GraphStep(vertex,[]), > HasStep([name.eq(bar), ~id.eq(foo)])] > ConnectiveStrategy [D] [GraphStep(vertex,[]), > HasStep([name.eq(bar), ~id.eq(foo)])] > ElementIdStrategy [D] [GraphStep(vertex,[]), > HasStep([name.eq(bar), ~id.eq(foo)])] > IdentityRemovalStrategy [O] [GraphStep(vertex,[]), > HasStep([name.eq(bar), ~id.eq(foo)])] > MatchPredicateStrategy [O] [GraphStep(vertex,[]), > HasStep([name.eq(bar), ~id.eq(foo)])] > FilterRankingStrategy [O] [GraphStep(vertex,[]), > HasStep([name.eq(bar), ~id.eq(foo)])] > InlineFilterStrategy [O] [GraphStep(vertex,[]), > HasStep([name.eq(bar), ~id.eq(foo)])] > IncidentToAdjacentStrategy [O]
[jira] [Created] (TINKERPOP-3004) Low performance for queries with a large number of element comparisons
Valentyn Kahamlyk created TINKERPOP-3004: Summary: Low performance for queries with a large number of element comparisons Key: TINKERPOP-3004 URL: https://issues.apache.org/jira/browse/TINKERPOP-3004 Project: TinkerPop Issue Type: Bug Components: process Affects Versions: 3.7.0 Reporter: Valentyn Kahamlyk There is a query where need to find except of two sets of vertices using `P.without`. Performance dropped significantly when moving from 3.5 to 3.7. Rough estimate is at least 2 times. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TINKERPOP-3003) Add configuration to opt into a strictly enforced timeout override
Stephen Mallette created TINKERPOP-3003: --- Summary: Add configuration to opt into a strictly enforced timeout override Key: TINKERPOP-3003 URL: https://issues.apache.org/jira/browse/TINKERPOP-3003 Project: TinkerPop Issue Type: Improvement Components: server Affects Versions: 3.6.5 Reporter: Stephen Mallette Add a {{enableStrictTimeoutValidation}} to server configuration with a default to {{false}} which will validate the per-request {{evaluationTimeout}} setting to ensure it does not exceed the server configuration. If enabled and if the request timeout does exceed the server it should throw an exception with message "Timeout on a request cannot exceed instance timeout of %s ms". -- This message was sent by Atlassian Jira (v8.20.10#820010)