...
When exactly.once.source.enabled
is set to true
for a worker, the consumers used by that worker to read source offsets from offsets topics will be configured with a new default property, isolation.level=read_committed
. This will cause them to ignore any records that are part of a non-committed transaction, but still consume records that are not part of a transaction at all.
Users will be allowed not able to explicitly override this in the worker configuration with the property consumer.isolation.level
or in the connector configuration with the property consumer.override.isolation.level
. This aligns with the current behavior of the framework with regards to overriding default Kafka client properties: even if it's usually unnecessary and possibly a bad idea, we give users that flexibility just in caseIf they attempt to do so, the user-provided value will be ignored and a message will be logged notifying them of this fact.
Offset (and record) writes
...
Task producers will be given a transactional ID of ${groupId}-${connector}-${taskId}
, where ${groupId}
is the group ID of the Connect cluster, ${connector}
is the name of the connector, and ${taskId}
is the ID of the task (starting from zero). Users will not be able to override this with the worker-level producer.transactional.id
or connector-level producer.override.transactional.id
property. If they attempt to do so, the user-provided value will be ignored and a message will be logged notifying them of this fact.
SourceTask record commit API
...