Open slfritchie opened 5 years ago
All instances of an empty pipeline or a pipeline with a single stateless or state computation exhibit the same behavior: only a single sink TCP connection sends data to the sink.
I've created a distinct issue (#2988) for the case of state computations. That's because we actually have 3 scenarios here related to current work on multiple sinks per worker per pipeline on the multi-sink-per-worker
branch:
1) steps in state stage step groups should each be connected to one of multiple sinks on a worker as is. If this is not true, that's a bug in current code on that branch.
2) sources will not, given the code on that branch, be connected to one of multiple sinks per worker, for reasons related to how we currently assign unique ids to source actors. This needs to be treated as a separate unit of work since the solution is not straightforward, and the intended results on the current branch are an improvement over master
even without this functionality.
3) computations in a stateless stage immediately following a source will be coalesced onto the source, meaning that, given (2), they will not be plugged into multiple sinks given current code.
Is this a bug, feature request, or feedback?
Bug
What is the current behavior?
When using
parallelism
parameters on both a TCP source & sink, the work of multiple input TCP streams is all routed to a single sink actor, thus Wallaroo's output is sent by only one TCP connection.What is the expected behavior?
When receiving input from multiple simultaneous TCP source connections, the output work of this simple app would be output by multiple TCP connections
What OS and version of Wallaroo are you using?
Ubuntu Xenial/16.04 + Linux, see Wallaroo commits IDs below
Steps to reproduce?
The contents of
test-test.bin
can be found at http://wallaroolabs-dev.s3.amazonaws.com/logs/test-test.bin (16 KBytes). Run the load generator procs using:Then use
tcpdump -i lo port 8081
to find the one TCP port that all sink traffic is being sent to, e.g.,15:41:01.089052 IP 127.0.0.1.40994 > 127.0.0.1.8081: Flags [P.], seq 82160:82212, ack 1, win 342, options [nop,nop,TS val 147491792 ecr 147491668], length 52
. Then refine thetcpdump
command to filter out port 40994.If Wallaroo is sending data on only one TCP connection, then that
tcpdump
proc will see 0 packets.