[jira] [Commented] (TINKERPOP-2811) ElementIdStrategy doesn't replace all references of an element's id with the specified custom id property

2023-10-16 Thread ASF GitHub Bot (Jira)


[ 
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

2023-10-16 Thread ASF GitHub Bot (Jira)


[ 
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

2023-10-16 Thread Valentyn Kahamlyk (Jira)
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

2023-10-16 Thread Stephen Mallette (Jira)
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)