[ 
https://issues.apache.org/jira/browse/TINKERPOP-1781?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16163224#comment-16163224
 ] 

Marko A. Rodriguez commented on TINKERPOP-1781:
-----------------------------------------------

There is no good general solution to this problem given that compilation will 
yield steps that don't have a correlate bytecode representation. For instance, 
{{ProviderOptimizationStrategy}} compilation stage. 

> Traversal admin addStep does not update bytecode
> ------------------------------------------------
>
>                 Key: TINKERPOP-1781
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1781
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: process
>    Affects Versions: 3.3.0, 3.2.6
>            Reporter: Ted Wilmes
>
> Right now bytecode is constructed at traversal construction time and is not 
> updated post-construction when traversal rewriting happens via strategies. 
> This works fine in most cases because the traversal is locked post-strategy 
> application and will be executed, not serialized out for execution somewhere 
> else. 
> There are issues when trying to apply client side, pre-serialization 
> traversal rewriting (a kind of client-side traversal strategy outside of the 
> usual strategy flow). Since a direct call to {{addStep}} circumvents the 
> bytecode construction, the bytecode diverges from the rewritten traversal.
> {code}
> gremlin> traversal = g.V().out();null
> ==>null
> gremlin> traversal.getSteps()
> ==>GraphStep(vertex,[])
> ==>VertexStep(OUT,vertex)
> gremlin> traversal.getBytecode()
> ==>[[], [V(), out()]]
> gremlin> TraversalHelper.insertAfterStep(new CountGlobalStep(traversal), 
> traversal.getSteps()[1], traversal.asAdmin())
> ==>null
> gremlin> traversal.getSteps()
> ==>GraphStep(vertex,[])
> ==>VertexStep(OUT,vertex)
> ==>CountGlobalStep
> gremlin> traversal.getBytecode()
> ==>[[], [V(), out()]]
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to