You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Andrey Mashenkov (Jira)" <ji...@apache.org> on 2021/09/24 12:52:00 UTC

[jira] [Updated] (IGNITE-15598) TableManager handles exceptions in incorrect way.

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

Andrey Mashenkov updated IGNITE-15598:
--------------------------------------
    Summary: TableManager handles exceptions in incorrect way.  (was: Configuration exception handling.)

> TableManager handles exceptions in incorrect way.
> -------------------------------------------------
>
>                 Key: IGNITE-15598
>                 URL: https://issues.apache.org/jira/browse/IGNITE-15598
>             Project: Ignite
>          Issue Type: Bug
>    Affects Versions: 3.0.0-alpha2
>            Reporter: Andrey Mashenkov
>            Priority: Major
>              Labels: ignite-3
>         Attachments: stacktrace
>
>
> IgniteTable method may throw exceptions in case of incorrect table configuration.
> These exceptions must be public classes. 
> The first issue here is we use future.join() that wrap exceptions into CompletionException. 
> I think we must unwrap it to Ignite public exception (e.g. to smth like TransactionalException, ConfigurationException, or IgniteException)
> The second issue, exception of internal class thrown instead and an original exception is hidden into the deep.
> Now, the configuration component may throw ConfigurationValidationException, which is a public one, but it is wrapped into an internal exception ListenerRemovedException.
> So, the context is lost, and such exceptions are hardly unwrapped.
> PFA stacktrace.
> Reproducer is available in PR for ignite-15414.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)