Repository navigation
[Umbrella] Kafka Protocols Compatibility - Basic Produce #4185
Description
Activity
- changed the title
[-]Kafka Protocols Compatibility - Basic Produce[/-][+][Umbrella] Kafka Protocols Compatibility - Basic Produce[/+]on Sep 1, 2026 Hi @gyang94 , I'd like to help with Kafka compatibility, starting with the Produce path. Is there a child issue I could pick up, and could I help with testing as the PRs land?
@dstolis Thanks for your interest in this topic and sorry for the late reply. Currently I have implemented the necessary code for the basic produce path and do some performance testing. There is a brief introduction about the progress in the last community call(in September 24th, doc: https://docs.google.com/document/d/1Fgj_ER50RhDRS6cAOggSHT2EPs3fGzsjz3EnW2ndJYU/edit?tab=t.0)
But it is not done. I believe there must be many places could be improved, and I am happy to work with you on any issue, testing and optimizing. One consideration is that, in the current status, the child issue you asked for, its feature implementation will be based on my "not yet merged" code instead of the main branch, which is not good since my code may change a lot after review. I'd suggest that, after merging existing code to the main, which means we settle down the fundamental necessary kafka compatibility codebase or framework, then we can work together to play around the code, do testing, and open issues to keep improving and optimizing it.
What do you think?
btw, I have put my whole implemented code in my forked repo, if you are interest you can take a look: https://github.com/gyang94/fluss/tree/kafka-compatibility-test-1
@dstolis Thanks for your interest in this topic and sorry for the late reply. Currently I have implemented the necessary code for the basic produce path and do some performance testing. There is a brief introduction about the progress in the last community call(in September 24th, doc: https://docs.google.com/document/d/1Fgj_ER50RhDRS6cAOggSHT2EPs3fGzsjz3EnW2ndJYU/edit?tab=t.0)
But it is not done. I believe there must be many places could be improved, and I am happy to work with you on any issue, testing and optimizing. One consideration is that, in the current status, the child issue you asked for, its feature implementation will be based on my "not yet merged" code instead of the main branch, which is not good since my code may change a lot after review. I'd suggest that, after merging existing code to the main, which means we settle down the fundamental necessary kafka compatibility codebase or framework, then we can work together to play around the code, do testing, and open issues to keep improving and optimizing it.
What do you think?
btw, I have put my whole implemented code in my forked repo, if you are interest you can take a look: https://github.com/gyang94/fluss/tree/kafka-compatibility-test-1
Hi @gyang94, thanks for the update. That plan makes sense. I opened a small PR against your fork with my initial findings. Feel free to cherry-pick what's useful and happy to support you further.
Search before asking
Motivation
Apache Fluss needs a first Kafka protocol compatibility milestone that allows standard Kafka producers to discover Fluss tables and write records without changing the Kafka client.
The target workflow is DDL-first: users create and manage tables and schemas through Fluss DDL, then produce JSON records through the Kafka protocol. Schema-aware conversion maps records into the pre-defined table schema and existing Fluss storage format. Kafka
CreateTopics,DeleteTopics, and automatic table creation are not part of this milestone.This umbrella is issue-driven: define a focused child issue, link its implementation PR, review it, and then move to the next capability. The foundation and Basic Produce tasks below follow dependency order. The previous four-PR approach has been retired and is not part of the current dependency chain.
Sub-tasks
Only scoped child issues are listed here. Each issue owns its scope, acceptance criteria, dependencies, and implementation PR. An issue is complete after the reviewed implementation meets those criteria and is merged, not merely after a PR is opened.
Foundation
Review and dependency order: #4264 → #4265 → #4275 → #4266.
Basic Produce
Core changes (independent review and merge)
Planned follow-ups
Create additional child issues progressively after the scoped foundation and Basic Produce tasks. These are directions for later issue scoping, not a commitment to reuse the closed implementation PRs.
Capability
Delivery
Future Work
Outside this Basic Produce milestone:
Review workflow
mainand validate again. Record completion through the child issues, then scope the next unit.Willingness to contribute