Skip to content

feat(inkless): POD-2457 Allow transactional offset commits for Diskless sources#596

Merged
ivanyu merged 1 commit into
mainfrom
anatolii/txn-commit-request
May 18, 2026
Merged

feat(inkless): POD-2457 Allow transactional offset commits for Diskless sources#596
ivanyu merged 1 commit into
mainfrom
anatolii/txn-commit-request

Conversation

@AnatolyPopov

Copy link
Copy Markdown
Contributor

Permit TxnOffsetCommitRequest to reference Diskless topic-partitions as offset keys, enabling transactional offset commits for consumers reading from Diskless topics.

…ss sources

Permit TxnOffsetCommitRequest to reference Diskless topic-partitions as offset keys, enabling transactional offset commits for consumers reading from Diskless topics.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR enables transactional offset commits for consumers reading from Diskless topics by allowing TxnOffsetCommitRequest to use Diskless topic-partitions as offset keys, while keeping transactional production to Diskless topics unsupported.

Changes:

  • Removes the Kafka API rejection of Diskless topics in transactional offset commit requests.
  • Updates unit and integration tests to cover successful transactional offset commits for Diskless sources.
  • Updates Inkless feature documentation to distinguish transactional offset commits from unsupported transactional production paths.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
core/src/main/scala/kafka/server/KafkaApis.scala Allows validated Diskless topic partitions to flow to the group coordinator for transactional offset commits.
core/src/test/scala/unit/kafka/server/KafkaApisTest.scala Updates the Diskless transactional offset commit unit test to expect success and verify coordinator delegation.
core/src/test/java/kafka/server/InklessLegacyClusterTest.java Adds an end-to-end legacy cluster test for sendOffsetsToTransaction with a Diskless source topic.
docs/inkless/FEATURES.md Documents transactional offset commits as supported and clarifies remaining unsupported transactional operations.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@viktorsomogyi

Copy link
Copy Markdown
Contributor

Do you have some broader context here? Why can we allow transactional offset commits?

@ivanyu

ivanyu commented May 18, 2026

Copy link
Copy Markdown
Member

@viktorsomogyi it turns out it prevents diskless topics from participating in transactional offset commits, even if there were not writes to them. Particularly, Iceberg connector cannot work on a diskless topic as source (i.e. without writes).

@ivanyu ivanyu merged commit ad8c636 into main May 18, 2026
9 checks passed
@ivanyu ivanyu deleted the anatolii/txn-commit-request branch May 18, 2026 05:52
giuseppelillo pushed a commit that referenced this pull request May 28, 2026
…ss sources (#596)

Permit TxnOffsetCommitRequest to reference Diskless topic-partitions as offset keys, enabling transactional offset commits for consumers reading from Diskless topics.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants