Details
-
Sub-task
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
None
Description
OffsetFetch and OffsetCommit handle errors separately. There are some issues to review around this, to ensure that we keep propagating the same exceptions as the legacy consumer:
1. Ensure same behaviour of legacy coordinator for expected commit errors: propagating the error.exception(), or CommitFailedException, depending on the error (Ex. commit requests that fail with FENCED_INSTANCE_ID or UNKNOWN_MEMBER_ID should throw a CommitFailedException instead of the error specific ones)
2. Ensure same behaviour of legacy coordinator for unexpected errors: all unexpected should fail with KafkaException, even if retriable.
3. Consider if we could unify the error handling for both, commit and fetch? (Downside, even though there are common errors, there are some that are not handled similarly in both requests (ex. UNKNOWN_TOPIC_OR_PARTITION throwing a non-retriable KafkaException for fetch requests, but throwing a retriable UnknownTopicOrPartitionException for commit requests).
Attachments
Issue Links
- links to