You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "stephen mallette (JIRA)" <ji...@apache.org> on 2018/02/15 22:24:01 UTC

[jira] [Closed] (TINKERPOP-1781) Traversal admin addStep does not update bytecode

     [ https://issues.apache.org/jira/browse/TINKERPOP-1781?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stephen mallette closed TINKERPOP-1781.
---------------------------------------
    Resolution: Won't Do

Given the last comment and my understanding of things, I think we should close this one. I don't think we're going down the path of client side strategy application. Feel free to re-open if there are some different thoughts here.

> 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
>            Priority: Major
>
> 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
(v7.6.3#76005)