Enabling exactly-once semantics for replication flows
You can enable exactly-once semantics (EOS) for replication flows in Streams Replication Manager to ensure that transactions are replicated without duplication.
The progress of MirrorSourceConnector is tracked by periodically committing the offsets of the processed messages. If the connector fails, uncommitted messages are reprocessed after the connector starts running again.
Using EOS, source connectors are able to handle offset commits and message produces in a single transaction. This either results in a successful operation where messages are produced to the target topic along with offset commits, or a rollback of the whole operation. EOS is enabled in Streams Replication Manager with the exactly.once.source.support property.
If transactional producers are writing messages to the source topic, Cloudera recommends that you filter records from the aborted transactions out from the replicated data. Otherwise, aborted transactions are marked as committed in the target, which results in invalid data. This is configured in your MirrorSourceConnector with the
isolation.level property. You set the property to read_committed.
