[ https://issues.apache.org/jira/browse/KAFKA-5006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Guozhang Wang resolved KAFKA-5006. ---------------------------------- Resolution: Fixed Fix Version/s: (was: 0.11.0.1) 1.0.0 Issue resolved by pull request 3534 [https://github.com/apache/kafka/pull/3534] > 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: Sub-task > Components: streams > Affects Versions: 0.10.0.0, 0.10.1.0, 0.10.2.0 > Reporter: Xavier Léauté > Assignee: Guozhang Wang > Priority: Blocker > Labels: user-experience > Fix For: 1.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.4.14#64029)