You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Guozhang Wang (JIRA)" <ji...@apache.org> on 2016/04/07 03:49:25 UTC

[jira] [Commented] (KAFKA-3262) Make KafkaStreams debugging friendly

    [ 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)