[kafka] Cover Produce lifecycle and replication regressions
- Dominant language
- Java
- Stars
- 2.1k
- Forks
- 625
- Avg merge
- 3d 14h
- Merged PRs (30d)
- 97
Description
### Purpose
Part of #4185. PR08 of the Kafka compatibility sequence, depending on PR07 (#4286 / #4283).
Migrate the remaining basic Produce integration regressions from retired PR #4187 to the current native Fluss DDL contract.
### Acceptance criteria
- [ ] Kafka Metadata returns Kafka listener endpoints and a stable nonzero topic ID; native drop/recreate changes the ID and reports a missing topic between those operations.
- [ ] After a real TabletServer leader failure, Metadata exposes the new leader and higher epoch, and the same Kafka producer continues writing with acks=1.
- [ ] With min-ISR=2, acks=all succeeds for a three-replica table and rejects a single-replica table; after a native dynamic change to 1, that table accepts a record at offset zero, verified through native Fluss readback.
### Scope
Tests only. All table lifecycle operations use Fluss Admin DDL. The failover test verifies routing recovery, not durability of acks=1 writes. Minimum-ISR checks assert the Kafka error type without depending on optional core diagnostic wording.
### Implementation
Draft PR #4299: https://github.com/apache/fluss/pull/4299
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with draft PR #4299 and the remaining Produce integration regressions from retired PR #4187. Verify the Kafka Metadata, TabletServer leader failover, min-ISR, native Fluss DDL, and native readback scenarios against the listed acceptance criteria; done means all regression checks pass without relying on optional diagnostic wording.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, kafka
- Domain
- distributed-systems, stream-processing, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100