You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Guozhang Wang (JIRA)" <ji...@apache.org> on 2015/01/14 20:07:36 UTC
[jira] [Created] (KAFKA-1863) Exception categories / hierarchy in
clients
Guozhang Wang created KAFKA-1863:
------------------------------------
Summary: 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
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)