Ivan Daschinskiy created IGNITE-13508:
-----------------------------------------

             Summary: Test scenario of two-phased rebalance (PDS reduce)
                 Key: IGNITE-13508
                 URL: https://issues.apache.org/jira/browse/IGNITE-13508
             Project: Ignite
          Issue Type: Test
            Reporter: Ivan Daschinskiy


Let us assume a cluster of 16 affinity nodes.

Lets divide cluster in 4 equal cells:
Each node in cell has the same node attribute {{CELL=CELL_<idx>}}

Caches, that will be started on nodes, should have affinity function with this 
backup filter:

{code:java}
public class CellularAffinityBackupFilter implements 
IgniteBiPredicate<ClusterNode, List<ClusterNode>> {
    private static final long serialVersionUID = 1L;

    private final String attrName;

    public CellularAffinityBackupFilter(String attrName) {
        this.attrName = attrName;
    }

    @Override public boolean apply(ClusterNode candidate, List<ClusterNode> 
previouslySelected) {
        for (ClusterNode node : previouslySelected)
            return Objects.equals(candidate.attribute(attrName), 
node.attribute(attrName));

        return true;
    }
}
{code}


Steps:
*  Preparations.
1. Start all 4 cells.
2. Load data to cache with the mentioned above affinity function and  fix PDS 
size on all nodes.
3. Delete 80% of data and fix PDS size on all nodes.
*  Phase 1
1. Stop two nodes in each cell, total a half of all nodes and clean PDS.
2. Start cleaned node with preservance of consistent id and cell attributes.
3. Wait for rebalance finished.
* Phase 2
Run steps 1-3 of Phase 2 on the other half of the cluster.
* Verifications
1. Check that PDS size reduced (compare to step 3)
2. Check data consistency (idle_verify --dump)









--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to