I have a few questions regarding the order of processing when using
From the LinkedIn article here
mentions the following:
"For parallelism within a task, Samza guarantees processAsync will be
invoked in order for a task. The processing or completion, however, can go
out of order. With this guarantee, users can implement sub-task-level data
pipelining with customized ordering and parallelism. For example, users can
use a keyed single thread executor pool to have in-order processing per key
while processing messages with different keys in parallel."
1. What exactly is meant by a "keyed single thread executor pool"? Are
there any code examples available on what this looks like?
2. I need to process a stream keyed on user IDs in parallel using
processAsync but would like each user's event be processed in order. Does
this then require custom ordering logic mentioned in the article?