[
https://issues.apache.org/jira/browse/KAFKA-19613?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18017428#comment-18017428
]
FliegenKLATSCH commented on KAFKA-19613:
----------------------------------------
Correct me, if I am wrong, but not sure which error gets created on the broker
side - the client validates the CRC checksum?!
A follower acts like a normal client(?). So it should also validate the CRC
checksum and as long as nobody seeks ahead, it just hangs with an exception -
so the behaviour would not change. (And I've seen this behaviour.)
And since I am talking about observations: We have a replica 4 setup, with
minISR 2; we've seen cases where the leader has a broken message, but 1 replica
is fine, the 2 others are hanging because of the broken record. So another
beneficial approach would be to try to read from another available broker. But
I guess that is out of scope here. And maybe even partially implemented already
with preferred-read-replica.
And regarding the retry: If we're using an example of broken memory, the
corruption could be introduced on reading and on another read attempt, with
different memory sections being used, could succeed. So there is probably no
definite answer to "should we retry or not". The client has to decide, like it
currently is. We should just expose the information and not change the
behaviour.
> Expose consumer CorruptRecordException as case of KafkaException
> ----------------------------------------------------------------
>
> Key: KAFKA-19613
> URL: https://issues.apache.org/jira/browse/KAFKA-19613
> Project: Kafka
> Issue Type: Improvement
> Components: clients
> Reporter: Uladzislau Blok
> Assignee: Uladzislau Blok
> Priority: Minor
> Labels: need-kip
> Attachments: corrupted_records.excalidraw.png
>
>
> As part of analysis of KAFKA-19430 , we decided it would be useful to expose
> root case of consumer request failure (e.g. currently we see just
> KafkaException instead of CorruptRecordException)
> The idea is to not change public API, but expose root case as a filed of
> KafkaException
--
This message was sent by Atlassian Jira
(v8.20.10#820010)