Hello,

I am using Kafka in plain producer-consumer style. I have a daily exchange
of about 1 million messages avg 50kb size per message. I am still using
0.10.2.1

Whilst I am relying on Kafka's stability under a 9-node configuration - I
would like to build some internal process which can keep my messages in
case of "Unreachable" broker/host issue. I will be able to resend those
messages provided that I can query them without moving the pointer.

>From my last encounter, I remember that using topic/partition/offset
details fetched using get() future call on new producer API, I can get
details and use them in seek() to retrieve details. However, seek() will
move the head as I understand from javadocs here here.
<https://kafka.apache.org/0102/javadoc/org/apache/kafka/clients/consumer/KafkaConsumer.html>

To explain my problem better, lets look at the following:

1) The producer failed to send some messages - no future received. This is
due to broker outage or a disaster.
2) These pending messages are logged in DB or in some file.
3) The disaster is resolved - all systems are back up.
4) New messages are being generated and sent/received successfully.
5) But my message @ step 1 is still pending.

For me, as long as I can query those messages and resend them it's all
good. Currently, I simply store them in a DB upon failure, retrieve them
when everything's back up, and resend them.

I was wondering if someone can confirm whether v.11 will have something to
ease this process, or should I submit a KIP for this?

Regards,

Reply via email to