Bird
Raised Fist0

You want to ensure exactly-once delivery semantics using a Kafka transactional producer. Which combination of configurations and method calls is correct?

hard🚀 Application Q8 of Q15
Kafka - Message Delivery Semantics

You want to ensure exactly-once delivery semantics using a Kafka transactional producer. Which combination of configurations and method calls is correct?

ASet <code>transactional.id</code>, skip <code>initTransactions()</code>, call <code>send()</code> and <code>commitTransaction()</code>.
BSet <code>enable.idempotence=false</code>, call <code>beginTransaction()</code>, then <code>send()</code> and <code>commitTransaction()</code>.
CSet <code>acks=0</code>, call <code>initTransactions()</code>, then <code>send()</code> and <code>commitTransaction()</code>.
DSet <code>transactional.id</code>, call <code>initTransactions()</code>, then use <code>beginTransaction()</code>, <code>send()</code>, and <code>commitTransaction()</code>.
Step-by-Step Solution
Solution:
  1. Step 1: Identify required configuration

    Exactly-once delivery requires transactional.id and initTransactions() call.
  2. Step 2: Correct method call sequence

    Begin transaction, send messages, then commit transaction to ensure atomicity.
  3. Final Answer:

    Set transactional.id, call initTransactions(), then use beginTransaction(), send(), and commitTransaction(). -> Option D
  4. Quick Check:

    Transactional id + initTransactions() + proper calls = Exactly-once [OK]
Quick Trick: Use transactional.id and initTransactions() for exactly-once [OK]
Common Mistakes:
MISTAKES
  • Skipping initTransactions() call
  • Disabling idempotence
  • Setting acks=0 which reduces durability

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Kafka Quizzes