Hello Kafka users, I am using exactly once semantics provided by kafka. Therefore, my producer writes a message within a transaction. While my producer was sending 100th message, right between send() and commitTransaction(); I killed the producer process. I read last few uncommitted messages in my topic. Consumer record offset - message number
0 - 1 2 - 2 196 - 99 <- Last committed message by producer 198 - 100 <- 100th message was sent but not committed Now, when I run consumer with read_committed isolation level. It exactly reads from 1-99 messages. But for that I have read entire topic. Eventually, I am going to store millions of messages in a topic. So, reading entire topic is not preferable. I used other methods i.e. seekToEnd() - took me to offset#200 endOffsets() - took me to offset#200 Is there a way to get message that was committed by the Kafka producer? (In my case, Offset#196) Why do I care about last committed message? I am using a single-partitioned topic. Each producer sends meta-data to {P_NAME}_{TOPIC_NAME}_INTERNAL topic. I am writing a restartable producer. To make this possible, they need to read last committed message {P_NAME}_{TOPIC_NAME}_INTERNAL topic and use the message. I have also asked the same question on Stackoverflow to reach out to other people: https://stackoverflow.com/questions/55342872/get-last-committed-message-in-a-partition-kafka/55344057?noredirect=1#comment97414434_55344057 --Thanks Jigar Rathod