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)