Re: max.task.idle.ms behavior

2019-01-18 Thread Matthias J. Sax
That sounds correct. Just to avoid confusion: we don't use the term "pause" for tasks, but "idle", because consumers can "pause/resume" partitions what is something different. In fact, if a task is idle the underlying empty partitions are not paused, because we hope to get data from them before t

Re: max.task.idle.ms behavior

2019-01-18 Thread Peter Levart
Hi Matthias, Thank you for the clarifications. May I ask about some more detail? I'll try to describe the behavior as I understand it. Please correct me if I'm wrong... So in effect each task alternates between NORMAL and ENFORCED processing modes. It starts in NORMAL mode where it is perf

Re: max.task.idle.ms behavior

2019-01-15 Thread Matthias J. Sax
The parameter applies too all three topics (input, intermediate, repartitions topics) and it's a global config. About the blocking behavior: If one partitions becomes empty, all other partitions are paused() and Streams only poll() for the empty partition. If no data is returned within the timeou

Re: max.task.idle.ms behavior

2019-01-15 Thread Peter Levart
Another question about this parameter. Does that parameter apply just to input topics to the KafkaStreams topology or also to intermediate (repartitioning) topics or to intermediate topics configured with KStream.through() directive? Is it possible to control the behavior on a per-topic basis

max.task.idle.ms behavior

2019-01-15 Thread Peter Levart
Hello! I'm trying to understand the behavior of Kafka Streams consumers with regards to max.task.idle.ms configuration parameter (default 0). The documentation says: max.task.idle.ms     Medium     Maximum amount of time a stream task will stay idle when not all of its partition buffers cont