[
https://issues.apache.org/jira/browse/KAFKA-5006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eno Thereska reassigned KAFKA-5006:
-----------------------------------
Assignee: Eno Thereska
> KeyValueStore.put may throw exception unrelated to the current put attempt
> --------------------------------------------------------------------------
>
> Key: KAFKA-5006
> URL: https://issues.apache.org/jira/browse/KAFKA-5006
> Project: Kafka
> Issue Type: Bug
> Components: streams
> Affects Versions: 0.10.0.0, 0.10.1.0, 0.10.2.0
> Reporter: Xavier Léauté
> Assignee: Eno Thereska
> Labels: user-experience
> Fix For: 0.11.0.0
>
>
> It is possible for {{KeyValueStore.put(K key, V value)}} to throw an
> exception unrelated to the store in question. Due to [the way that
> {{RecordCollector.send}} is currently
> implemented|https://github.com/confluentinc/kafka/blob/3.2.x/streams/src/main/java/org/apache/kafka/streams/processor/internals/RecordCollectorImpl.java#L76]
> the exception thrown would be for any previous record produced by the stream
> task, possibly for a completely unrelated topic the same task is producing to.
> This can be very confusing for someone attempting to correctly handle
> exceptions thrown by put(), as they would not be able to add any additional
> debugging information to understand the operation that caused the problem.
> Worse, such logging would likely confuse the user, since they might mislead
> themselves into thinking the changelog record created by calling put() caused
> the problem.
> Given that there is likely no way for the user to recover from an exception
> thrown by an unrelated produce request, it is questionable whether we should
> even try to raise the exception at this level. A short-term fix would be to
> simply delegate this exception to the uncaught exception handler.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)