Hi Pieter,

What are the two answers --- TinkerGraph and Sqlg for the respective test 
traversal?

(I suspect the test is bad because group() pushes traversers through with bulks 
and all so the test might just add to a collection without adding respecting 
bulks. Probably should change that test regardless to do like a count or 
something instead).

Marko.

http://markorodriguez.com



> On Oct 24, 2016, at 12:57 PM, pieter-gmail <[email protected]> wrote:
> 
> Hi,
> 
> This is on 3.2.3
> 
> I have been investigating why
> `DedupTest.g_V_asXaX_repeatXbothX_timesX3X_emit_asXbX_group_byXselectXaXX_byXselectXbX_dedup_order_byXidX_foldX_selectXvaluesX_unfold_dedup`
> fails on Sqlg. It is a fairly recently added test.
> 
> My investigation so far has narrowed the problem to the
> `PathRetractionStrategy`
> 
> On the modern graph,
> 
>        GraphTraversal<Vertex, Map<Vertex, Collection<Vertex>>>
> traversal = g.traversal()
>                .V().as("a")
>                .out().as("b")
>                .<Vertex, Collection<Vertex>>group().by(select("a"))
>                .by(select("b"));
>        printTraversalForm(traversal);
> 
> Outputs the following on TinkerGraph
> 
> pre-strategy:[GraphStep(vertex,[])@[a], VertexStep(OUT,vertex)@[b],
> GroupStep([SelectOneStep(a)],[SelectOneStep(b)])]
>  post-strategy:[TinkerGraphStep(vertex,[])@[a],
> VertexStep(OUT,vertex)@[b], GroupStep([SelectOneStep(a),
> NoOpBarrierStep(2500)],[SelectOneStep(b), NoOpBarrierStep(2500)])]
> 
> And on Sqlg
>   pre-strategy:[GraphStep(vertex,[])@[a], VertexStep(OUT,vertex)@[b],
> GroupStep([SelectOneStep(a)],[SelectOneStep(b)])]
>  post-strategy:[SqlgGraphStepCompiled(vertex,[])@[b],
> GroupStep([SelectOneStep(a)],[SelectOneStep(b)])]
> 
> The difference being that Sqlg does not have the `NoOpBarrierStep` inserted.
> 
> For TinkerGraph the `NoOpBarrierStep` is being inserted in the
> `PathRetractionStrategy` on line 113
> However this does not happen for Sqlg as Sqlg's GraphStep has
> `TraverRequirement.PATH` as a requirement which prevents
> `PathRetractionStrategy` from doing what it does.
> 
> Is this a bug of sorts? Should Sqlg be adding in the `NoOpBarrierStep`?
> 
> Thanks
> Pieter

Reply via email to