出于测试目的,我删除了目标主题,并预计应用程序会在一段时间后超时。然而,经过一些研究,我了解到 Kafka Streams 默认会重试消息,直到目标主题再次上线,并且为 Kafka Producer 设置 StreamsConfig 下的配置(task.timeout.ms、request.timeout.ms 和 retries = 0)。
任何人都可以向我保证这个结论是正确的吗?如果不是,您可以就我需要的配置提出建议,以强制 Kafka Streams 一段时间后停止重试。
出于测试目的,我删除了目标主题,并预计应用程序会在一段时间后超时。然而,经过一些研究,我了解到 Kafka Streams 默认会重试消息,直到目标主题再次上线,并且为 Kafka Producer 设置 StreamsConfig 下的配置(task.timeout.ms、request.timeout.ms 和 retries = 0)。
任何人都可以向我保证这个结论是正确的吗?如果不是,您可以就我需要的配置提出建议,以强制 Kafka Streams 一段时间后停止重试。
对于这个特定问题,Kafka Streams 目前将永远重试,因为收到的
TimeoutException
是Retriable
异常。这是一个已知问题:https://issues.apache.org/jira/browse/KAFKA-16508