[
https://issues.apache.org/jira/browse/IGNITE-18470?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sergey Uttsel updated IGNITE-18470:
-----------------------------------
Description:
h3. Motivation
We have broken exception handling in DistributionZoneManager. Some exceptions
are thrown from methods, other exceptions fail future. Need to refactor it.
Currently DdlCommandHandler handles DistributionZoneAlreadyExistsException and
DistributionZoneNotFoundException incorrectly because it wrapped into
ConfigurationChangeException. Seems that they are wrapped because they are
checked exceptions. There are no tests for it. Also methods of
DistributionZoneManager throw other exceptions.
h3. Definition of Done
# Exception handling in DistributionZoneManager is reworked.
# DdlCommandHandler handles all exception produced by methods of
DistributionZoneManager.
h3. Implementation notes
# createZone, alterZone, dropZone must don't wrap NodeStoppingException.
# Need to check if we can unwrap DistributionZoneAlreadyExistsException and
DistributionZoneNotFoundException from ConfigurationChangeException.
was:
h3. Motivation
Currently DdlCommandHandler handles DistributionZoneAlreadyExistsException and
DistributionZoneNotFoundException incorrectly because it wrapped into
ConfigurationChangeException. Seems that they are wrapped because they are
checked exceptions. There are no tests for it.
Also methods of DistributionZoneManager throw other exceptions.
DistributionZoneManager#createZone:
# return future which is completed with ConfigurationChangeException (caused by
DistributionZoneAlreadyExistsException and DistributionZoneNotFoundException)
# throws NullPointerException if the parameter of method is null.
# NodeStoppingException If the node is stopping.
DistributionZoneManager#dropZone:
# return future which is completed with ConfigurationChangeException (caused by
DistributionZoneNotFoundException)
# throws NullPointerException if the parameter of method is null.
# NodeStoppingException If the node is stopping.
DistributionZoneManager#alterZone also throws these exception, but it is not
used in DdlCommandHandler now.
h3. Definition of Done
DdlCommandHandler handles all exception produced by methods of
DistributionZoneManager.
h3. Implementation notes
# createZone, alterZone, dropZone must don't wrap NodeStoppingException.
# Need to check if we can unwrap DistributionZoneAlreadyExistsException and
DistributionZoneNotFoundException from ConfigurationChangeException.
> Exception handling for DistributionZoneManager in DdlCommandHandler.
> --------------------------------------------------------------------
>
> Key: IGNITE-18470
> URL: https://issues.apache.org/jira/browse/IGNITE-18470
> Project: Ignite
> Issue Type: Improvement
> Reporter: Sergey Uttsel
> Assignee: Sergey Uttsel
> Priority: Major
> Labels: ignite-3
>
> h3. Motivation
> We have broken exception handling in DistributionZoneManager. Some exceptions
> are thrown from methods, other exceptions fail future. Need to refactor it.
> Currently DdlCommandHandler handles DistributionZoneAlreadyExistsException
> and DistributionZoneNotFoundException incorrectly because it wrapped into
> ConfigurationChangeException. Seems that they are wrapped because they are
> checked exceptions. There are no tests for it. Also methods of
> DistributionZoneManager throw other exceptions.
> h3. Definition of Done
> # Exception handling in DistributionZoneManager is reworked.
> # DdlCommandHandler handles all exception produced by methods of
> DistributionZoneManager.
> h3. Implementation notes
> # createZone, alterZone, dropZone must don't wrap NodeStoppingException.
> # Need to check if we can unwrap DistributionZoneAlreadyExistsException and
> DistributionZoneNotFoundException from ConfigurationChangeException.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)