Kafka gateway: Kafka transactional APIs — UNSUPPORTED_VERSION stub and idempotence docs
- Dominant language
- Rust
- Stars
- 4.9k
- Forks
- 432
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 173
Description
Part of #3560.
## Summary
Phase 3: handle transactional producer APIs with explicit unsupported responses until Iggy supports transactional writes.
## Motivation
Iggy does not support transactional writes today. Workaround: return `UNSUPPORTED_VERSION` (35) for InitProducerId (22), AddPartitionsToTxn (24), AddOffsetsToTxn (25), EndTxn (26), TxnOffsetCommit (28).
Document that Kafka 3.x idempotent producers fall back to at-least-once.
## Depends on
- #3539 — Phase 1 (minimum)
## Scope
- [ ] Handlers return UNSUPPORTED_VERSION or documented stub behavior
- [ ] README section: transactions not supported; idempotent producer behavior
- [ ] Tests assert error codes, no panic
## References
- Rollout plan: https://github.com/apache/iggy/discussions/3253#discussioncomment-17181030
Contributor guide
Research direction
Start with the Kafka gateway handlers for InitProducerId, AddPartitionsToTxn, AddOffsetsToTxn, EndTxn, and TxnOffsetCommit, then review the rollout plan and dependency issue #3539. Check the README and existing gateway tests first. Done means unsupported responses are documented and tested with the expected error code, without panics, including Kafka 3.x idempotent-producer behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend, distributed-systems, documentation, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100