[
https://issues.apache.org/jira/browse/KAFKA-1863?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14361191#comment-14361191
]
Guozhang Wang commented on KAFKA-1863:
--------------------------------------
Added the docs according, closing this ticket for now.
> 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)