Apache kafka 为什么kafka控制台使用者对少量消息超时?

Apache kafka 为什么kafka控制台使用者对少量消息超时?,apache-kafka,Apache Kafka,我正在做测试,一个卡夫卡主题只有300条信息。尝试显示计数时,kafka控制台使用者命令超时: $kafka-console-consumer --from-beginning --bootstrap-server localhost:9092 --property print.key=true --property print.value=false --property print.partition --topic air2008 --timeout-ms 20000 | tail

我正在做测试,一个卡夫卡主题只有300条信息。尝试显示计数时,
kafka控制台使用者
命令超时:

$kafka-console-consumer  --from-beginning   --bootstrap-server localhost:9092 --property print.key=true  --property print.value=false --property print.partition --topic air2008 --timeout-ms 20000 | tail -n 10
[2019-05-10 22:55:01,646] ERROR Error processing message, terminating consumer process:  (kafka.tools.ConsoleConsumer$)
org.apache.kafka.common.errors.TimeoutException
Processed a total of 300 messages
2008-06-05_730
2008-06-05_332
2008-06-15_1669
2008-06-12_1637
2008-06-21_227
2008-06-25_542
2008-06-17_1790
2008-06-22_1058
2008-06-04_1676

这里到底发生了什么/人们在等待什么?我可以将超时时间从20秒更改为更高(例如60秒)或更低(例如1秒)-但会出现相同的错误。

我认为异常只是意味着在您设置的超时时间内没有新消息传入。这与其说是一个错误,不如说是一个通知

有道理-所以我现在会保留1000毫秒的超时时间。我是唯一一个发现控制台用户抛出这样一个异常作为参考而令人非常恼火的人,没有办法告诉它“嘿,我希望阅读所有内容,超时不是例外,请不要告诉我”??我的意思是,我真的不想将stderr发送到/dev/null,但是如果我想在日志中保留这个不必要的异常+堆栈跟踪,我有什么选择(这并不太复杂)?