Skip to content

Minor fixes for share fetch workflow#5393

Open
Kaushik Raina (k-raina) wants to merge 10 commits intodev_kip-932_queues-for-kafkafrom
dev_kip-932_mock_broker_share_fetch_and_ack
Open

Minor fixes for share fetch workflow#5393
Kaushik Raina (k-raina) wants to merge 10 commits intodev_kip-932_queues-for-kafkafrom
dev_kip-932_mock_broker_share_fetch_and_ack

Conversation

@k-raina
Copy link
Copy Markdown
Member

Summary

  • Move epoch-0 ack rejection before session_validate to prevent destroying existing sessions on malformed requests
  • Add SHARE_SESSION_LIMIT_REACHED error when fetch session cache is full (default 2000 per KIP-932)
  • Return INVALID_RECORD_STATE for acks on records whose lock expired, were re-acquired by another consumer, or are no longer in Acquired state
  • Write per-partition AcknowledgeErrorCode in ShareFetch and ShareAcknowledge responses instead of hardcoded 0
  • Validate ack batch ordering (ascending FirstOffsets, non-overlapping ranges) and reject with INVALID_REQUEST
  • Handle per-offset AcknowledgeTypes arrays correctly instead of collapsing to last value
  • Apply piggybacked acks before forgotten partition processing so acks on partitions being removed succeed
  • Allow epoch=-1 (final fetch) to carry acks in Topics array; only reject ForgottenTopicsData
  • Propagate broad errors to AcknowledgeErrorCode on all ack-bearing partitions per KIP-932 spec
  • Add group.share.partition.max.record.locks (default 2000) to cap in-flight records per share-partition
  • Add configurable share.auto.offset.reset with default "latest" per KIP-932
  • Implement partition rotation across fetch requests to prevent starvation
  • Archive in-flight records when log retention advances start_offset past SPSO
  • Change UNKNOWN_TOPIC_OR_PARTITION from top-level error to per-partition error so valid partitions still get data

@k-raina Kaushik Raina (k-raina) requested a review from a team as a code owner April 7, 2026 22:31
@confluent-cla-assistant
Copy link
Copy Markdown

🎉 All Contributor License Agreements have been signed. Ready to merge.
Please push an empty commit if you would like to re-run the checks to verify CLA status for all contributors.

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.

1 participant