kafka-jira mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jagadesh Adireddi (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (KAFKA-6538) Enhance ByteStore exceptions with more context information
Date Fri, 30 Mar 2018 16:13:00 GMT

    [ https://issues.apache.org/jira/browse/KAFKA-6538?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16420657#comment-16420657

Jagadesh Adireddi commented on KAFKA-6538:

Hi [~mjsax],
To work on this ticket, I would like to get clarification on few things. In `RocksDBStore`
can we enhance exception by doing `Bytes.wrap(byte[])` on Key/Value and throw exception.
for Class RecordCollectorImpl, Error message stated in ticket as 
value [<byte array>] timestamp YYY) to topic TTT
 .But i see *value* **type is already in *Bytes*. I guess it already displaying readable
value and no changes required.  Please do correct me, if i am missing something.



> 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
>            Priority: Minor
>              Labels: newbie
> 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

View raw message