kafka-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vahid Hashemian (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (KAFKA-5359) Exceptions from RequestFuture lack parts of the stack trace
Date Thu, 15 Jun 2017 17:39:00 GMT

     [ https://issues.apache.org/jira/browse/KAFKA-5359?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Vahid Hashemian updated KAFKA-5359:
    Fix Version/s:

> Exceptions from RequestFuture lack parts of the stack trace
> -----------------------------------------------------------
>                 Key: KAFKA-5359
>                 URL: https://issues.apache.org/jira/browse/KAFKA-5359
>             Project: Kafka
>          Issue Type: Bug
>          Components: clients
>            Reporter: Magnus Reftel
>            Assignee: Vahid Hashemian
>            Priority: Minor
>             Fix For:
> When an exception occurs within a task that reports its result using a RequestFuture,
that exception is stored in a field on the RequestFuture using the {{raise}} method. In many
places in the code where such futures are completed, that exception is then thrown directly
using {{throw future.exception();}} (see e.g. [Fetcher.getTopicMetadata|https://github.com/apache/kafka/blob/aebba89a2b9b5ea6a7cab2599555232ef3fe21ad/clients/src/main/java/org/apache/kafka/clients/consumer/internals/Fetcher.java#L316]).
> This means that the exception that ends up in client code only has stack traces related
to the original exception, but nothing leading up to the completion of the future. The client
therefore gets no indication of what was going on in the client code - only that it somehow
ended up in the Kafka libraries, and that a task failed at some point.
> One solution to this is to use the exceptions from the future as causes for chained exceptions,
so that the client gets a stack trace that shows what the client was doing, in addition to
getting the stack traces for the exception in the task.

This message was sent by Atlassian JIRA

View raw message