...
Gliffy Diagram | ||||
---|---|---|---|---|
|
Data Injection:
In the context of this Test framework an input stream means a stream that Samza job may consume from and an output stream means a stream that Samza job can produce to. The initial source of data stream is always supposed to be bounded since this is a test, and that may originate as one of the following sources listed below.
...
Samza API | Concurrency | Partitions | Container | Expected Result | |
---|---|---|---|---|---|
StreamTask | task.max.concurrency = 1 job.container.thread.pool.size = n | 1 <= p <= n | 1 / n | in order processing | |
task.max.concurrency > 1 job.container.thread.pool.size = n | 1 <= p <= n | 1 / n | out of order processing | ||
AsyncStreamTask | task.max.concurrency = 1 | 1 <= p <= n | 1 / n | in order processing | |
task.max.concurrency = n | 1 <= p <= n | 1 / n | out of order processing | ||
Windowable Task | N/A | 1 <= p <= n | 1 / n | expecting processing n messages for messages window of time t | |
Initiable Task | N/A | 1 <= p <= n | 1 / n | stateful testing (assertions on kv store) | |
Closable Task | N/A | 1 <= p <= n | 1 / n? | verify closing the client | |
Map / Flatmap / Filter / Partition By / Merge / SendTo / Sink / Join / Window
| task.max.concurrency = 1 job.container.thread.pool.size = n | 1 <= p <= n | 1 / n | in order processing | |
task.max.concurrency > 1 job.container.thread.pool.size = n | out of order processing |
...