[ 
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)

Reply via email to