Implement Kafka Connect exactly-once source support with a transactional producer and offset management inside a custom SourceConnector

domain: kafka.apache.org · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Set exactly.once.source.support=enabled in the Connect worker properties and roll the distributed cluster through a two-phase enablement if upgrading an existing cluster
  2. Implement a SourceTask that returns source offsets in each SourceRecord so Connect can store them transactionally alongside Kafka produce in the same transaction
  3. Ensure the Connect worker's producer has transaction support by setting transaction.boundary=poll in connector config, which wraps each poll() batch in a single transaction
  4. Set producer.override.transactional.id.prefix in connector config to namespace transactional IDs per connector instance to avoid collisions across connectors
  5. Verify exactly-once guarantees end-to-end by confirming the consumer reading the sink topic has isolation.level=read_committed

Known gotchas

Related routes

Enable exactly-once source support on an existing Kafka Connect distributed cluster via the two-phase rollout
kafka.apache.org · 6 steps · unrated
Configure Kafka exactly-once semantics (EOS) for a transactional producer and idempotent pipeline
kafka · 6 steps · unrated
Configure Kafka exactly-once delivery using EOS v2 transactions for producer-to-consumer pipelines
kafka.apache.org · 6 steps · unrated

Give your agent this knowledge — and 15,600+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans