获取kafka分区中的最后一条记录偏移量

Get last record offset in kafka partition

我想获取主题分区中最后一条记录的偏移量。消费者中有 endOffsets 方法。通常 endOffsets - 1 工作正常。但是在事务性生产者主题的情况下,可能包含没有记录的偏移量。而 endOffsets - 1 将指向没有记录的偏移量。那么,在这种情况下我应该如何计算最后一条记录的偏移量呢?

更有趣的是,如果我的主题既有简单的生产者又有事务性的生产者会怎么样?有什么可靠的方法可以忽略所有这些复杂性来获取最后的记录偏移量吗?

我最终意识到在当前版本的 java 消费者中没有可靠和简单的方法来做到这一点。我在 Kafka 的问题跟踪器中为此创建了一个功能请求:https://issues.apache.org/jira/browse/KAFKA-10009