[
https://issues.apache.org/jira/browse/TINKERPOP-1994?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17302108#comment-17302108
]
ASF GitHub Bot commented on TINKERPOP-1994:
-------------------------------------------
spmallette merged pull request #1401:
URL: https://github.com/apache/tinkerpop/pull/1401
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> LazyBarrierStrategy fully responsible for barrier() additions
> -------------------------------------------------------------
>
> Key: TINKERPOP-1994
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1994
> Project: TinkerPop
> Issue Type: Improvement
> Components: process
> Affects Versions: 3.2.9
> Reporter: Stephen Mallette
> Priority: Minor
>
> As it stands, {{LazyBarrierStrategy}}, {{RepeatUnrollStrategy}} and
> {{PathRetractionStrategy}} (others??) add {{barrier()}} steps as needed - for
> example:
> {code}
> gremlin> g.V().repeat(out().barrier()).times(2).explain()
> ==>Traversal Explanation
> ===============================================================================================================================================================================================
> Original Traversal [GraphStep(vertex,[]),
> RepeatStep([VertexStep(OUT,vertex), NoOpBarrierStep,
> RepeatEndStep],until(loops(2)),emit(false))]
> ConnectiveStrategy [D] [GraphStep(vertex,[]),
> RepeatStep([VertexStep(OUT,vertex), NoOpBarrierStep,
> RepeatEndStep],until(loops(2)),emit(false))]
> MatchPredicateStrategy [O] [GraphStep(vertex,[]),
> RepeatStep([VertexStep(OUT,vertex), NoOpBarrierStep,
> RepeatEndStep],until(loops(2)),emit(false))]
> FilterRankingStrategy [O] [GraphStep(vertex,[]),
> RepeatStep([VertexStep(OUT,vertex), NoOpBarrierStep,
> RepeatEndStep],until(loops(2)),emit(false))]
> InlineFilterStrategy [O] [GraphStep(vertex,[]),
> RepeatStep([VertexStep(OUT,vertex), NoOpBarrierStep,
> RepeatEndStep],until(loops(2)),emit(false))]
> IncidentToAdjacentStrategy [O] [GraphStep(vertex,[]),
> RepeatStep([VertexStep(OUT,vertex), NoOpBarrierStep,
> RepeatEndStep],until(loops(2)),emit(false))]
> RepeatUnrollStrategy [O] [GraphStep(vertex,[]),
> VertexStep(OUT,vertex), NoOpBarrierStep, NoOpBarrierStep(2500),
> VertexStep(OUT,vertex), NoOpBarrierStep, NoOpBarrierStep(2500)]
> PathRetractionStrategy [O] [GraphStep(vertex,[]),
> VertexStep(OUT,vertex), NoOpBarrierStep, NoOpBarrierStep(2500),
> VertexStep(OUT,vertex), NoOpBarrierStep, NoOpBarrierStep(2500)]
> AdjacentToIncidentStrategy [O] [GraphStep(vertex,[]),
> VertexStep(OUT,vertex), NoOpBarrierStep, NoOpBarrierStep(2500),
> VertexStep(OUT,vertex), NoOpBarrierStep, NoOpBarrierStep(2500)]
> CountStrategy [O] [GraphStep(vertex,[]),
> VertexStep(OUT,vertex), NoOpBarrierStep, NoOpBarrierStep(2500),
> VertexStep(OUT,vertex), NoOpBarrierStep, NoOpBarrierStep(2500)]
> LazyBarrierStrategy [O] [GraphStep(vertex,[]),
> VertexStep(OUT,vertex), NoOpBarrierStep, NoOpBarrierStep(2500),
> VertexStep(OUT,vertex), NoOpBarrierStep, NoOpBarrierStep(2500)]
> TinkerGraphCountStrategy [P] [GraphStep(vertex,[]),
> VertexStep(OUT,vertex), NoOpBarrierStep, NoOpBarrierStep(2500),
> VertexStep(OUT,vertex), NoOpBarrierStep, NoOpBarrierStep(2500)]
> TinkerGraphStepStrategy [P] [TinkerGraphStep(vertex,[]),
> VertexStep(OUT,vertex), NoOpBarrierStep, NoOpBarrierStep(2500),
> VertexStep(OUT,vertex), NoOpBarrierStep, NoOpBarrierStep(2500)]
> ProfileStrategy [F] [TinkerGraphStep(vertex,[]),
> VertexStep(OUT,vertex), NoOpBarrierStep, NoOpBarrierStep(2500),
> VertexStep(OUT,vertex), NoOpBarrierStep, NoOpBarrierStep(2500)]
> StandardVerificationStrategy [V] [TinkerGraphStep(vertex,[]),
> VertexStep(OUT,vertex), NoOpBarrierStep, NoOpBarrierStep(2500),
> VertexStep(OUT,vertex), NoOpBarrierStep, NoOpBarrierStep(2500)]
> Final Traversal [TinkerGraphStep(vertex,[]),
> VertexStep(OUT,vertex), NoOpBarrierStep, NoOpBarrierStep(2500),
> VertexStep(OUT,vertex), NoOpBarrierStep, NoOpBarrierStep(2500)]
> {code}
> We should centralize the logic for this in {{LazyBarrierStrategy}} and remove
> it from other strategies. By keeping the logic in a single place we can (1)
> ensure the best implementation - note in the above example, we're getting
> extra {{barrier()}} steps (2) users can be assured that removing the single
> {{LazyBarrierStrategy}} will remove all automated {{barrier()}} applications.
> This isn't a breaking change, but it could change traversal behavior I
> suppose - perhaps this goes just to 3.4.0.......
--
This message was sent by Atlassian Jira
(v8.3.4#803005)