Atomic but Not Magic

A Kafka read-process-write job uses a transactional producer, writes results to two output topics, commits its input offsets inside the transaction, and downstream consumers read with isolation.level=read_committed. What does this actually guarantee?

A

The job's own handler code is guaranteed to execute exactly one time per input record, so no processing step can ever run twice after a crash

B

The two output writes and the offset commit become visible all together or not at all, giving exactly-once processing for the Kafka-to-Kafka path

C

Any external HTTP call or foreign database write the job makes during processing is enrolled in the same transaction and therefore also executed exactly once

D

Records inside one transaction are delivered to consumers in a single global order spanning both output topics, so cross-topic sequence is preserved