mrckzgl
ATApache TinkerPop
•Created by mrckzgl on 3/11/2024 in #questions
Stackoverflow when adding a larger list of property values using traverser.property()
something is still wrong, the values won't be found in the db. Maybe there is a problem in passing directly the JRuby version of the large_list, maybe it would work converting this to a native Java List, but I won't persue this further. We already implemented the split traversal work around, so this is fine at the moment. Still, not very good that tinkerpop is generating stack overflows out of its own ...
19 replies
ATApache TinkerPop
•Created by mrckzgl on 3/11/2024 in #questions
Stackoverflow when adding a larger list of property values using traverser.property()
It does not produce the stack overflow as the steps following unfold are handled iteratively and not recursively as in the OP case.
19 replies
ATApache TinkerPop
•Created by mrckzgl on 3/11/2024 in #questions
Stackoverflow when adding a larger list of property values using traverser.property()
Currently testing this:
At first glance,it does not produce an error on a large list of 7000 values. If I understood correctly, it should be equivalent to:
but hopefully much more performant.
19 replies
ATApache TinkerPop
•Created by mrckzgl on 3/11/2024 in #questions
Stackoverflow when adding a larger list of property values using traverser.property()
Oh nice one. No I did not. Have to try this out, thanks alot.
19 replies
ATApache TinkerPop
•Created by mrckzgl on 3/11/2024 in #questions
Stackoverflow when adding a larger list of property values using traverser.property()
I guess, the problem would not be so apparent, if the property call / step would allow to take a list as value argument, instead of just one single value (and of course handle that list iteratively), but, I haven't found a way to add multiple values inside one property call / step.
19 replies
ATApache TinkerPop
•Created by mrckzgl on 3/11/2024 in #questions
Stackoverflow when adding a larger list of property values using traverser.property()
(and btw. it is not the same thing. In what you describe, the stack overflow is happening outside of tinkerpops code base, even before the iterate call, for what we do it is happening inside)
19 replies
ATApache TinkerPop
•Created by mrckzgl on 3/11/2024 in #questions
Stackoverflow when adding a larger list of property values using traverser.property()
It does not need to be implemented like this.
19 replies
ATApache TinkerPop
•Created by mrckzgl on 3/11/2024 in #questions
Stackoverflow when adding a larger list of property values using traverser.property()
But the problem is that iterate is handling all those steps recursively instead of iteratively.
19 replies
ATApache TinkerPop
•Created by mrckzgl on 3/11/2024 in #questions
Stackoverflow when adding a larger list of property values using traverser.property()
stack overflow is happening inside the iterate() call
19 replies
ATApache TinkerPop
•Created by mrckzgl on 3/11/2024 in #questions
Stackoverflow when adding a larger list of property values using traverser.property()
no, we are not. please have a look at the linked issue, there it is described more verbose. But the essence is:
19 replies
ATApache TinkerPop
•Created by mrckzgl on 3/11/2024 in #questions
Stackoverflow when adding a larger list of property values using traverser.property()
Between, we have also figured the workaround of splitting things up into separate traversals (see the linked JanusGraph issue). For simple traversals this might be feasible, but the more complex they get the more problematic to implement this will turn out...increasing stack size is of course not an option.
19 replies
ATApache TinkerPop
•Created by mrckzgl on 3/11/2024 in #questions
Stackoverflow when adding a larger list of property values using traverser.property()
Thanks for the reply. But the thing is those steps are not chained in "userspace". These are all separate traversal.property() calls. Tinkerpop is internally calling things recursively inside traversal.iterate(). This is the problem and it shouldn't occur IMHO if traversal.iterate() would not be implemented recursively...
19 replies