[ https://issues.apache.org/jira/browse/KAFKA-1863?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14347338#comment-14347338 ]
Guozhang Wang commented on KAFKA-1863: -------------------------------------- Created reviewboard https://reviews.apache.org/r/31735/diff/ against branch origin/trunk > Exception categories / hierarchy in clients > ------------------------------------------- > > Key: KAFKA-1863 > URL: https://issues.apache.org/jira/browse/KAFKA-1863 > Project: Kafka > Issue Type: Bug > Reporter: Guozhang Wang > Assignee: Guozhang Wang > Fix For: 0.9.0 > > Attachments: KAFKA-1863.patch > > > In the new clients package we introduces a new set of exceptions, but its > hierarchy is not very clear as of today: > {code} > RuntimeException -> KafkaException -> BufferExhastedException > -> ConfigException > -> > SerializationException > -> > QuotaViolationException > -> SchemaException > -> ApiException > ApiException -> InvalidTopicException > -> OffsetMetadataTooLarge (probabaly need to be renamed) > -> RecordBatchTooLargeException > -> RecordTooLargeException > -> UnknownServerException > -> RetriableException > RetriableException -> CorruptRecordException > -> InvalidMetadataException > -> NotEnoughtReplicasAfterAppendException > -> NotEnoughReplicasException > -> OffsetOutOfRangeException > -> TimeoutException > -> UnknownTopicOrPartitionException > {code} > KafkaProducer.send() may throw KafkaExceptions that are not ApiExceptions; > other exceptions will be set in the returned future metadata. > We need better to > 1. Re-examine the hierarchy. For example, for producers only exceptions that > are thrown directly from the caller thread before it is appended to the batch > buffer should be ApiExceptions; some exceptions could be renamed / merged. > 2. Clearly document the exception category / hierarchy as part of the release. > [~criccomini] may have some more feedbacks for this issue from Samza's usage > experience. [~jkreps] -- This message was sent by Atlassian JIRA (v6.3.4#6332)