Skip to content

KAFKA-19996: Avoid premature ISR expansion under min ISR - #23024

Open
lh0156 wants to merge 1 commit into
apache:trunkfrom
lh0156:agent/KAFKA-19996-consistent-isr-membership
Open

KAFKA-19996: Avoid premature ISR expansion under min ISR#23024
lh0156 wants to merge 1 commit into
apache:trunkfrom
lh0156:agent/KAFKA-19996-consistent-isr-membership

Conversation

@lh0156

@lh0156 lh0156 commented Aug 2, 2026

Copy link
Copy Markdown

Summary

  • Require a follower to satisfy the existing caught-up check before expanding the ISR when the partition is under min ISR.
  • Prevent a follower that only reached a stale high watermark from repeatedly entering and leaving the ISR.
  • Preserve existing leader-epoch expansion behavior when the partition is not under min ISR.
  • Add regression coverage for a follower that reaches the HWM but remains behind the leader LEO.

Testing

  • ./gradlew :core:test --tests kafka.cluster.PartitionTest (87 tests passed)
  • ./gradlew :core:check --no-build-cache --console=plain (static checks passed; 3,383 tests ran, with unrelated timing failures in DynamicConnectionQuotaTest and SocketServerTest)
  • Isolated DynamicConnectionQuotaTest rerun passed; SocketServerTest remained timing-sensitive locally.

Fixes KAFKA-19996

Require a follower to satisfy the existing caught-up check before expanding the ISR when the partition is under min ISR. This prevents a follower that only reached a stale high watermark from repeatedly entering and leaving the ISR, while preserving the existing leader-epoch expansion behavior outside that state.

Tests: ./gradlew :core:test --tests kafka.cluster.PartitionTest

Generated-by: OpenAI Codex (GPT-5)
@github-actions github-actions Bot added triage PRs from the community core Kafka Broker small Small PRs labels Aug 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Kafka Broker small Small PRs triage PRs from the community

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant