apache / apache/fluss

[kafka] Cover Produce lifecycle and replication regressions

Open
#4,298 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.