[ https://issues.apache.org/jira/browse/TINKERPOP-2365?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stephen Mallette updated TINKERPOP-2365: ---------------------------------------- Summary: LazyBarrierStrategy adds a NoOpBarrierStep when profile() is present (was: profile() adds a NoOpBarrierStep) > LazyBarrierStrategy adds a NoOpBarrierStep when profile() is present > -------------------------------------------------------------------- > > Key: TINKERPOP-2365 > URL: https://issues.apache.org/jira/browse/TINKERPOP-2365 > Project: TinkerPop > Issue Type: Bug > Components: process > Affects Versions: 3.3.10 > Reporter: Stephen Mallette > Priority: Minor > > Not sure if this needs to behave like this for any particular reason but: > {code} > gremlin> g.V().both().profile() > ==>Traversal Metrics > Step Count > Traversers Time (ms) % Dur > ============================================================================================================= > TinkerGraphStep(vertex,[]) 1 > 1 0.055 67.30 > VertexStep(BOTH,vertex) 2 > 2 0.012 15.51 > NoOpBarrierStep(2500) 2 > 1 0.014 17.19 > >TOTAL - > - 0.082 - > {code} > the {{NoOpBarrierStep}} doesn't get added unless {{profile()}} is present as > shown in this {{explain()}}: > {code} > gremlin> g.V().both().explain() > ==>Traversal Explanation > ======================================================================================== > Original Traversal [GraphStep(vertex,[]), > VertexStep(BOTH,vertex)] > ConnectiveStrategy [D] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex)] > MatchPredicateStrategy [O] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex)] > EarlyLimitStrategy [O] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex)] > FilterRankingStrategy [O] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex)] > InlineFilterStrategy [O] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex)] > IncidentToAdjacentStrategy [O] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex)] > AdjacentToIncidentStrategy [O] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex)] > RepeatUnrollStrategy [O] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex)] > CountStrategy [O] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex)] > PathRetractionStrategy [O] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex)] > LazyBarrierStrategy [O] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex)] > TinkerGraphCountStrategy [P] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex)] > TinkerGraphStepStrategy [P] [TinkerGraphStep(vertex,[]), > VertexStep(BOTH,vertex)] > ProfileStrategy [F] [TinkerGraphStep(vertex,[]), > VertexStep(BOTH,vertex)] > StandardVerificationStrategy [V] [TinkerGraphStep(vertex,[]), > VertexStep(BOTH,vertex)] > Final Traversal [TinkerGraphStep(vertex,[]), > VertexStep(BOTH,vertex)] > {code} > unless of course we {{explain()}} the {{profile()}} which seems weird: > {code} > gremlin> g.V().both().profile().explain() > ==>Traversal Explanation > ========================================================================================================================================================================================================== > Original Traversal [GraphStep(vertex,[]), > VertexStep(BOTH,vertex), ProfileSideEffectStep, SideEffectCapStep([~metrics])] > ConnectiveStrategy [D] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex), ProfileSideEffectStep, SideEffectCapStep([~metrics])] > MatchPredicateStrategy [O] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex), ProfileSideEffectStep, SideEffectCapStep([~metrics])] > EarlyLimitStrategy [O] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex), ProfileSideEffectStep, SideEffectCapStep([~metrics])] > FilterRankingStrategy [O] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex), ProfileSideEffectStep, SideEffectCapStep([~metrics])] > InlineFilterStrategy [O] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex), ProfileSideEffectStep, SideEffectCapStep([~metrics])] > IncidentToAdjacentStrategy [O] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex), ProfileSideEffectStep, SideEffectCapStep([~metrics])] > AdjacentToIncidentStrategy [O] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex), ProfileSideEffectStep, SideEffectCapStep([~metrics])] > RepeatUnrollStrategy [O] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex), ProfileSideEffectStep, SideEffectCapStep([~metrics])] > CountStrategy [O] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex), ProfileSideEffectStep, SideEffectCapStep([~metrics])] > PathRetractionStrategy [O] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex), ProfileSideEffectStep, SideEffectCapStep([~metrics])] > LazyBarrierStrategy [O] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex), NoOpBarrierStep(2500), ProfileSideEffectStep, > SideEffectCapStep([~metrics])] > TinkerGraphCountStrategy [P] [GraphStep(vertex,[]), > VertexStep(BOTH,vertex), NoOpBarrierStep(2500), ProfileSideEffectStep, > SideEffectCapStep([~metrics])] > TinkerGraphStepStrategy [P] [TinkerGraphStep(vertex,[]), > VertexStep(BOTH,vertex), NoOpBarrierStep(2500), ProfileSideEffectStep, > SideEffectCapStep([~metrics])] > ProfileStrategy [F] [TinkerGraphStep(vertex,[]), ProfileStep, > VertexStep(BOTH,vertex), ProfileStep, NoOpBarrierStep(2500), ProfileStep, > ProfileSideEffectStep, SideEffectCapStep([~metrics] > )] > StandardVerificationStrategy [V] [TinkerGraphStep(vertex,[]), ProfileStep, > VertexStep(BOTH,vertex), ProfileStep, NoOpBarrierStep(2500), ProfileStep, > ProfileSideEffectStep, SideEffectCapStep([~metrics] > )] > Final Traversal [TinkerGraphStep(vertex,[]), ProfileStep, > VertexStep(BOTH,vertex), ProfileStep, NoOpBarrierStep(2500), ProfileStep, > ProfileSideEffectStep, SideEffectCapStep([~metrics] > )] > {code} > Seems like this is a bit of a bug in the sense that I would expect > {{explain()}} and {{profile()}} to examine the same working traversal up to > the point of that call. -- This message was sent by Atlassian Jira (v8.3.4#803005)