You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Duo Zhang (JIRA)" <ji...@apache.org> on 2019/05/29 08:24:00 UTC

[jira] [Updated] (HBASE-22316) Consider always creating a new exception in FutureUtils.get

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

Duo Zhang updated HBASE-22316:
------------------------------
    Component/s: Client
                 asyncclient

> Consider always creating a new exception in FutureUtils.get
> -----------------------------------------------------------
>
>                 Key: HBASE-22316
>                 URL: https://issues.apache.org/jira/browse/HBASE-22316
>             Project: HBase
>          Issue Type: Sub-task
>          Components: asyncclient, Client
>            Reporter: Duo Zhang
>            Priority: Major
>              Labels: async-client
>
> This is for debugging. As in async client, the retry will be done in the retry timer thread, so the exception we get from the CompletableFuture will have a stack trace starting from the root of the retry timer. If we just throw this exception out when calling future.get(by unwrapping the ExecutionException), the upper layer even can not know where is the exception thrown...
> This happens for me many times, so I propose that we always create a new exception in FutureUtils.get, so at least we can record the stack trace for the method calling FutureUtils.get...



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)