[ https://issues.apache.org/jira/browse/TINKERPOP-2065?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
stephen mallette updated TINKERPOP-2065: ---------------------------------------- Description: In GLVs {{iterate()}} is not implemented as it is in Java where remote traversals append a {{NoneStep}} to filter all results serverside and thus generate side-effects. -Also, {{hasNext()}} is generally under-optimized in remote traversals because the {{hasNext()}} check is on the client side - not the server. We need a similar version of {{NoneStep}} for {{hasNext()}} basically.- Nicely noted by [~Florian Hockmann] - https://groups.google.com/d/msgid/gremlin-users/8044fcf4-8941-4826-998b-3743154dccd2%40googlegroups.com?utm_medium=email&utm_source=footer was: In GLVs {{iterate()}} is not implemented as it is in Java where remote traversals append a {{NoneStep}} to filter all results serverside and thus generate side-effects. Also, {{hasNext()}} is generally under-optimized in remote traversals because the {{hasNext()}} check is on the client side - not the server. We need a similar version of {{NoneStep}} for {{hasNext()}} basically. Nicely noted by [~Florian Hockmann] - https://groups.google.com/d/msgid/gremlin-users/8044fcf4-8941-4826-998b-3743154dccd2%40googlegroups.com?utm_medium=email&utm_source=footer Summary: Optimize iterate() for remote traversals (was: Optimize hasNext() and iterate() for remote traversals) I don't see a way to deal with {{hasNext()}}. it's not really a terminal step and could be utilized otherwise: {code} t = g.V() t.hasNext() t.next() // if the previous step triggered traversal execution on the server then what does next() mean? re-execution on the server for 1? t.hasNext() {code} I think this may have to become a point of documentation. > Optimize iterate() for remote traversals > ---------------------------------------- > > Key: TINKERPOP-2065 > URL: https://issues.apache.org/jira/browse/TINKERPOP-2065 > Project: TinkerPop > Issue Type: Improvement > Components: dotnet, javascript, process, python > Affects Versions: 3.3.3 > Reporter: stephen mallette > Assignee: stephen mallette > Priority: Critical > > In GLVs {{iterate()}} is not implemented as it is in Java where remote > traversals append a {{NoneStep}} to filter all results serverside and thus > generate side-effects. -Also, {{hasNext()}} is generally under-optimized in > remote traversals because the {{hasNext()}} check is on the client side - not > the server. We need a similar version of {{NoneStep}} for {{hasNext()}} > basically.- > Nicely noted by [~Florian Hockmann] - > https://groups.google.com/d/msgid/gremlin-users/8044fcf4-8941-4826-998b-3743154dccd2%40googlegroups.com?utm_medium=email&utm_source=footer -- This message was sent by Atlassian JIRA (v7.6.3#76005)