apache / apache/iggy

Kafka gateway: Kafka transactional APIs — UNSUPPORTED_VERSION stub and idempotence docs

Open
#3,545 0 comments 0 reactions 0 assignees View on GitHub
gateways
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.