[ https://issues.apache.org/jira/browse/KAFKA-6538?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Matthias J. Sax resolved KAFKA-6538. ------------------------------------ Resolution: Fixed Fix Version/s: 2.0.0 > Enhance ByteStore exceptions with more context information > ---------------------------------------------------------- > > Key: KAFKA-6538 > URL: https://issues.apache.org/jira/browse/KAFKA-6538 > Project: Kafka > Issue Type: Improvement > Components: streams > Affects Versions: 1.1.0 > Reporter: Matthias J. Sax > Assignee: Jagadesh Adireddi > Priority: Minor > Labels: newbie > Fix For: 2.0.0 > > > In KIP-182 we refactored all stores to by plain {{Bytes/byte[]}} stores and > only have concrete key/value types on outer layers/wrappers of the stores. > For this reason, the most inner {{RocksDBStore}} cannot provide useful error > messages anymore if a put/get/delete operation fails as it only handles plain > bytes. > In addition, the corresponding calls to record changelog records to record > collectors will also be sending byte arrays only, and hence when there is an > error happening, the record collector can only display the key but not the > value since it is all bytes: > {code} > [ERROR] org.apache.kafka.streams.processor.internals.RecordCollectorImpl - > task [2_2] Error sending record (key {"eventId":XXX,"version":123} > value [<byte array>] timestamp YYY) to topic TTT > due to ... > {code} > Therefore, we should enhance exceptions thrown from {{RocksDBStore}} with > corresponding information for which key/value the operation failed in the > wrapping stores (KeyValueStore, WindowedStored, and SessionStore). > Cf https://github.com/apache/kafka/pull/4518 that cleans up {{RocksDBStore}} > exceptions. -- This message was sent by Atlassian JIRA (v7.6.3#76005)