Skip to content

[KIP-932]: Per partition error handling tests and per RPC error handling tests - #5516

Open
Pratyush Ranjan (PratRanj07) wants to merge 2 commits into
masterfrom
dev_kip-932_partition_level_err_handling_tests
Open

[KIP-932]: Per partition error handling tests and per RPC error handling tests#5516
Pratyush Ranjan (PratRanj07) wants to merge 2 commits into
masterfrom
dev_kip-932_partition_level_err_handling_tests

Conversation

@PratRanj07

@PratRanj07 Pratyush Ranjan (PratRanj07) commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Per-partition error handling tests (0182-share_consumer_error_handling_mock)

  • test_partition_error_injection_share_ack_matrix / do_test_partition_error_injection_share_ack_code — a per-partition ShareAck err propagates to commit_sync results and the ack callback for the affected partition only; other partitions stay NO_ERROR.
  • test_partition_error_injection_share_fetch_surfaces_err — a per-partition ShareFetch err reaches the app via share_poll while records from unaffected partitions are still delivered.
  • test_partition_error_injection_per_apikey_stack_isolation — ShareFetch and ShareAck error stacks are scoped per ApiKey and drain independently (no cross-contamination).
  • do_test_share_fetch_partition_err_triggers_metadata_refresh — leader-unavailable-class errs (NOT_LEADER_OR_FOLLOWER, FENCED_LEADER_EPOCH, KAFKA_STORAGE_ERROR, OFFSET/REPLICA_NOT_AVAILABLE) trigger a Metadata refresh and recover transparently (err never surfaces).
  • do_test_share_fetch_partition_err_silent_await / test_share_fetch_partition_err_silent_await_matrix — unknown-topic-class errs (UNKNOWN_TOPIC_OR_PART, UNKNOWN_TOPIC_ID, INCONSISTENT_TOPIC_ID) don't surface; records arrive once the err stack drains.
  • test_share_fetch_partition_err_default_translates_to_state — an unmapped ShareFetch err code is translated to __STATE before surfacing; the raw broker code is never visible to the app.
  • test_share_fetch_partition_err_unknown_leader_epoch_log_only — UNKNOWN_LEADER_EPOCH is log-only, doesn't surface, and records deliver after the stack drains.
  • test_share_fetch_partition_err_on_subsequent_fetch_recovers — a mid-session leader-unavailable err on a later ShareFetch still triggers a Metadata refresh and recovers.
  • test_share_ack_partition_err_preserves_session — a failed per-partition ack does not reset the share session; the next fetch+ack+commit cycle is clean with no extra rejoin.
  • test_share_ack_partition_err_not_auto_retried — the client never silently retries a failed ack; a follow-up commit_sync with no new acks sends zero ShareAcknowledge on the wire.
  • test_share_ack_partition_err_after_clean_ack_surfaces — an ack err on a second commit_sync (after a clean cycle) propagates to the matching partition's result and callback only.
  • test_share_group_adherence_to_hb_interval — ShareGroupHeartbeats fire at the configured interval (3–5 over ~2s at 1000ms).
  • test_share_group_metadata_unknown_topic_id_tests — a topic carrying UNKNOWN_TOPIC_ID in Metadata can't be fetched until cleared, while a clean co-subscribed topic still delivers.
  • do_test_share_group_quick_unsubscribe / test_share_group_quick_unsubscribe_tests — rapid subscribe/unsubscribe cycles trip no assertion and destroy cleanly, both with a ready cluster and against an unreachable bootstrap.
  • test_share_fetch_fast_leader_query_backoff — a NOT_LEADER_OR_FOLLOWER on ShareFetch triggers a fast-leader-query Metadata request right after the failing fetch.

@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.

@airlock-confluentinc
airlock-confluentinc Bot force-pushed the dev_kip-932_partition_level_err_handling_tests branch from f696f64 to 4ce0be8 Compare June 22, 2026 18:02
@PratRanj07
Pratyush Ranjan (PratRanj07) changed the base branch from dev_kip-932_mock_part_err to master June 22, 2026 18:03
Copilot AI review requested due to automatic review settings June 22, 2026 19:29
@PratRanj07
Pratyush Ranjan (PratRanj07) removed the request for review from Copilot June 22, 2026 19:29
@airlock-confluentinc
airlock-confluentinc Bot force-pushed the dev_kip-932_partition_level_err_handling_tests branch from 08c94c1 to c5c5cc6 Compare June 22, 2026 21:45
@PratRanj07
Pratyush Ranjan (PratRanj07) changed the base branch from master to dev_kip-932_mock_part_err June 22, 2026 21:54
@airlock-confluentinc
airlock-confluentinc Bot force-pushed the dev_kip-932_partition_level_err_handling_tests branch from c5c5cc6 to 0ab1d5c Compare June 22, 2026 21:55
@airlock-confluentinc
airlock-confluentinc Bot force-pushed the dev_kip-932_mock_part_err branch from 6f3fb21 to 03ce04f Compare June 24, 2026 08:46
Base automatically changed from dev_kip-932_mock_part_err to master June 24, 2026 13:13
Copilot AI review requested due to automatic review settings June 24, 2026 17:39
@airlock-confluentinc
airlock-confluentinc Bot force-pushed the dev_kip-932_partition_level_err_handling_tests branch from 0ab1d5c to 7d16710 Compare June 24, 2026 17:39
@PratRanj07
Pratyush Ranjan (PratRanj07) removed the request for review from Copilot June 24, 2026 17:39
@airlock-confluentinc
airlock-confluentinc Bot force-pushed the dev_kip-932_partition_level_err_handling_tests branch from 7d16710 to 78d1e7f Compare June 24, 2026 19:52
Copilot AI review requested due to automatic review settings June 24, 2026 19:52
@PratRanj07
Pratyush Ranjan (PratRanj07) removed the request for review from Copilot June 24, 2026 19:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant