I think the issue is that a.cross(b) takes a pipe of n and pipe of m and emits n * m elements. If you get lucky and do that a two times, and have some moderately sized inputs, you can really generate massive outputs.
I see a few solutions:
make sure we don't put too many items in initially
turn down the probability of cross, which is VERY rarely used for the same reason. Also, it is not fundamental and expressed in terms of other operators.
put a .limit after each cross, which restricts the kinds of topologies we see.
I think the issue is that
a.cross(b)
takes a pipe ofn
and pipe ofm
and emitsn * m
elements. If you get lucky and do that a two times, and have some moderately sized inputs, you can really generate massive outputs.I see a few solutions:
.limit
after each cross, which restricts the kinds of topologies we see.