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/01/25 11:16:00 UTC

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

     [ https://issues.apache.org/jira/browse/IGNITE-18416?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mirza Aliev updated IGNITE-18416:
---------------------------------
    Description: 
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.

  was:
https://docs.google.com/document/d/1e7zFbQTVEOpLhUDuEO3-taD3MYXLkqxsduxVmqttuLU/edit?usp=share_link

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.


> 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: ignite-3
>
> 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)