#28457·presto

presto-kafka 连接器错误

作者: pratyakshsharma创建于 2026年9月8日更新于 2026年9月9日
标签bug

有几个问题已在 presto-kafka 连接器中报告。请参阅以下详细信息 - 1. KafkaSplitManager#getSplits() 创建了一个新的消费者实例,只传递了一个启动服务器,这不是推荐的方法。请参阅官方 Kafka 文档 - https://kafka.apache.org/43/configuration/consumer-configs/#consumerconfigs_bootstrap.servers。这实际上会逆转 https://GitHub.com/prestodb/presto/commit/79198697cc1847c2144aaee85f99ee8325069d6d 中所做的更改。 2. KafkaSplitManager#getSplits() 检查 startTimestamp > endTimestamp。如果为 true,将抛出 IllegalArgumentException,但实际上此 if 语句从来不会执行,因为 presto 优化器会在查询中不存在重叠域时对查询进行短路。一个示例查询是 - `select * from kafka.default.nation where _timestamp > 13 and _timestamp < 10;`。因此,此检查是无效的,应删除(尽管下面第 4 点中的异常显示了相同的根原因,但修复后,它不会被触发) 3. KafkaSplitManager#getSplits() 为每个调用创建了 Kafka 消费者实例,但从来不关闭它。 4. 如果查询使用了 _timestamp 列的 where 子句,以便仅指定下界(开始时间戳)(`where _timestamp > 1234`),则查询会失败,并抛出以下异常 -

内容来源: prestodb/presto