[ https://issues.apache.org/jira/browse/KAFKA-1863?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Guozhang Wang updated KAFKA-1863: --------------------------------- Status: Patch Available (was: Open) > 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)