[ https://issues.apache.org/jira/browse/KAFKA-3262?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15229508#comment-15229508 ]
Guozhang Wang commented on KAFKA-3262: -------------------------------------- One more thing that we have observed: currently Kafka Streams will decide whether or not to trigger poll() purely based on the size of its buffered data, but not considering the heartbeat intervals. As a result for complex topology, it is likely to get false positive failure detection with small session.timeout.ms. cc [~norwood] > Make KafkaStreams debugging friendly > ------------------------------------ > > Key: KAFKA-3262 > URL: https://issues.apache.org/jira/browse/KAFKA-3262 > Project: Kafka > Issue Type: Sub-task > Components: kafka streams > Affects Versions: 0.10.0.0 > Reporter: Yasuhiro Matsuda > Labels: developer-experience > Fix For: 0.10.1.0 > > > Current KafkaStreams polls records in the same thread as the data processing > thread. This makes debugging user code, as well as KafkaStreams itself, > difficult. When the thread is suspended by the debugger, the next heartbeat > of the consumer tie to the thread won't be send until the thread is resumed. > This often results in missed heartbeats and causes a group rebalance. So it > may will be a completely different context then the thread hits the break > point the next time. > We should consider using separate threads for polling and processing. -- This message was sent by Atlassian JIRA (v6.3.4#6332)