You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Mirza Aliev (Jira)" <ji...@apache.org> on 2023/10/17 10:07:00 UTC

[jira] [Commented] (IGNITE-18416) Tests for DistributionZoneManager

    [ https://issues.apache.org/jira/browse/IGNITE-18416?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17776122#comment-17776122 ] 

Mirza Aliev commented on IGNITE-18416:
--------------------------------------

Most of this scenarios are implemented during DZM development

> Tests for DistributionZoneManager
> ---------------------------------
>
>                 Key: IGNITE-18416
>                 URL: https://issues.apache.org/jira/browse/IGNITE-18416
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Sergey Uttsel
>            Assignee: Sergey Uttsel
>            Priority: Major
>              Labels: dzm-reviewed, ignite-3, tech-debt
>
> Tests for DistributionZoneManager.
> h3. Node start/restart tests:
> *Test1:*
> Parameters:
> # zone config: [scaleUp = 0, scaleDown = 0, commonAutoAdjust = INTEGER.MAX_VALUE], [scaleUp = INTEGER.MAX_VALUE, scaleDown = INTEGER.MAX_VALUE, commonAutoAdjust = 0], [scaleUp = 10, scaleDown = 0, commonAutoAdjust = INTEGER.MAX_VALUE], [scaleUp = 0, scaleDown = 10, commonAutoAdjust = INTEGER.MAX_VALUE], [scaleUp = INTEGER.MAX_VALUE, scaleDown = INTEGER.MAX_VALUE, commonAutoAdjust = 10]
> Prerequisite:
> # node1 is started.
> # Default zone with <zone config>.
> Test steps:
> # Start node2.
> # *Assert* that data nodes of default zone is [node1, node2] after <scaleUp/commonAutoAdjust> timeout.
> # Stop node2.
> # *Assert* that data nodes of default zone is [node1] after <scaleDown/commonAutoAdjust> timeout.
> *Test2:*
> Parameters:
> # zone config: [scaleUp = 1000, commonAutoAdjust = INTEGER.MAX_VALUE], [scaleUp = INTEGER.MAX_VALUE, commonAutoAdjust = 1000]
> Prerequisite:
> # node1 is started.
> # Default zone with <zone config>.
> Test steps:
> # Start node2. _(Zone timer is started at node1 and node2)._
> # Restart node1.
> # *Assert* that data nodes of default zone is [node1, node2] after node1 is restarted. _(Before timer expiration)_
> *Test3:*
> Parameters:
> # zone config: [scaleDown = 1000, commonAutoAdjust = INTEGER.MAX_VALUE], [scaleDown = INTEGER.MAX_VALUE, commonAutoAdjust = 1000]
> Prerequisite:
> # node1, node2 are started.
> # Default zone with <zone config>.
> # Data nodes of default zone is [node1, node2]
> Test steps:
> # Stop node2. _(Zone timer is started at node1)._
> # Restart node1.
> # *Assert* that data nodes of default zone is [node1] after node1 is restarted. _(Before timer expiration)_
> *Test4:*
> Prerequisite:
> # node1 and node2 are started.
> # Default zone with scaleUp = 10 and scaleDown = Integer.MAX_VALUE.
> # Data nodes of default zone: [node1, node2].
> Test steps:
> # Start node3 at the time 0.
> # Stop node2 at time 5.
> # *Assert* that at time 10 data nodes of default zone will be changed to [node1, node2, node3].
> # Start node4 at time 30.
> # *Assert* that at time 40 data nodes of default zone will be changed to [node1, node2, node3, node4].
> # Start node2 at time 50. _(So node2 tries to do metaStorage.invoke with a stale dataNodes [node1, node2, node3])_
> # *Assert* that  data nodes of default zone is [node1, node2, node3, node4] after node2 is restarted.
> *Test5:*
> Prerequisite:
> # node1, node2 and node3 are started.
> # Default zone with scaleUp = 10 and scaleDown = 15.
> Test steps:
> # Start node4 and stop node2 at the time 0.
> # Stop node3 and start node5 at the time 5.
> # *Assert* that at time 15 data nodes of default zone will be changed to [node1, node2, node3, node4, node5].
> # *Assert* that at time 20 data nodes of default zone will be changed to [node1, node4, node5].
> *Test6:*
> Prerequisite:
> # node1 and node2 are started.
> # Default zone with commonAutoAdjust = 10.
> Test steps:
> # Stop node2 at the time 0.
> # Start node3 at the time 5.
> # *Assert* that at time 10 data nodes of default zone is [node1, node2].
> # *Assert* that at time 15 data nodes of default zone will be changed to [node1, node3].
>  
> h3. Zone configuration changes
> *Test1:*
> Prerequisite:
> # node1, node2 are started.
> Test steps:
> # Create new zone.
> # *Assert* that data nodes of new zone is [node1, node2]
> *Test2:*
> Prerequisite:
> # node1 are started.
> # Data nodes of default zone: [node1].
> Test steps:
> # Alter default zone with <[scaleUp = 1000, scaleDown = 0, commonAutoAdjust = INTEGER.MAX_VALUE], [scaleUp = INTEGER.MAX_VALUE, scaleDown = INTEGER.MAX_VALUE, commonAutoAdjust = 1000]>
> # Start node2 at time 0.
> # Change <[scaleUp], [commonAutoAdjust]> to 10 at time 5.
> # *Assert* that data nodes of default zone is changed to [node1, node2] at time 15.
> # Alter default zone with <[scaleUp = 0, scaleDown = 1000, commonAutoAdjust = INTEGER.MAX_VALUE], [scaleUp = INTEGER.MAX_VALUE, scaleDown = INTEGER.MAX_VALUE, commonAutoAdjust = 1000]>
> # Stop node2 at time 15.
> # Change <[scaleDown], [commonAutoAdjust]> to 10 at time 20.
> # *Assert* that data nodes of default zone is changed to [node1] at time 30.
> *Test3:*
> Prerequisite:
> # node1 and node2 are started.
> Test steps:
> # Alter zone1 with [scaleUp = 10, scaleDown = 10, commonAutoAdjust = INTEGER.MAX_VALUE]
> # Alter zone2 with [scaleUp = INTEGER.MAX_VALUE, scaleDown = INTEGER.MAX_VALUE, commonAutoAdjust = 10]
> # Start node3 and stop node2 at time 0.
> # Alter zone1 with [scaleUp = INTEGER.MAX_VALUE, scaleDown = INTEGER.MAX_VALUE, commonAutoAdjust = INTEGER.MAX_VALUE]
> # Alter zone2 with [scaleUp = INTEGER.MAX_VALUE, scaleDown = INTEGER.MAX_VALUE, commonAutoAdjust = INTEGER.MAX_VALUE]
> # *Assert* that data nodes of default zone is [node1, node2] at time 10.
> *Test4:*
> Prerequisite:
> # node1 is started.
> # Default zone with [scaleUp = INTEGER.MAX_VALUE, scaleDown = INTEGER.MAX_VALUE, commonAutoAdjust = 10]
> # Data nodes of default zone is [node1].
> Test steps:
> # Start node2 and then stop node2.
> # *Assert* that data nodes of default zone is [node1]. _(Timers are not started)_
> *Test5:*
> Prerequisite:
> # node1, node2 are started.
> # Zone with data nodes [node1, node2] with [scaleUp = 10, scaleDown = 10, commonAutoAdjust = INTEGER.MAX_VALUE]
> Test steps:
> # Start node3 and stop node2 at time 0.
> # Drop zone.
> # *Assert* that data nodes of the zone is null. _(Timers are canceled)_
> h3. Two zones
> *Test1:*
> # zone1 config: [scaleUp = 10, scaleDown = 15, commonAutoAdjust = INTEGER.MAX_VALUE]
> # zone2 config: [scaleUp = INTEGER.MAX_VALUE, scaleDown = INTEGER.MAX_VALUE, commonAutoAdjust = 20]
> Prerequisite:
> # node1 is started.
> # Default zone with <zone config>.
> Test steps:
> # Start node2.
> # *Assert* that data nodes of zone1 is [node1, node2] after scaleUp timeout.
> # *Assert* that data nodes of zone2 is [node1, node2] after commonAutoAdjust timeout.
> # Stop node2.
> # *Assert* that data nodes of zone1 is [node1] after scaleDown timeout.
> # *Assert* that data nodes of zone2 is [node1] after commonAutoAdjust timeout.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)