Kafka producer ordering

Hi,

My apology if this is a question which is already been answered before.

Use Case:

I am reviewing an application (producer) which is using librdKafka as a 3rd party library to interact with Kafka brokers (3= 1L+2F). This 3rd party lib has been configured for retries. Its a single topic with multiple partitions. Application suppose to maintain a strict ordering without any loss of messages. What I found is if the library fails to deliver the message after retires (not getting ack from broker) and notifies the application, it then again retries to send.
(idempotent feature is enabled.)

Question:

  1. Will this break the ordering of message (if the application retries)?
  2. Will enabling idempotent going to help here ?
  3. Is the retry from application unnecessary overhead in ALL cases.

Thanx
Abhijit