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