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

Alexei Scherbakov updated IGNITE-10117:
---------------------------------------
    Description: 
This is because 
org.apache.ignite.internal.processors.cache.persistence.IgniteCacheDatabaseSharedManager#reserveHistoryForExchange
 is called before 
org.apache.ignite.internal.processors.cache.persistence.IgniteCacheDatabaseSharedManager#beforeExchange,
 which restores correct partition state.

{noformat}
public void testHistory() throws Exception {
        IgniteEx crd = startGrid(0);
        startGrid(1);

        crd.cluster().active(true);

        awaitPartitionMapExchange();

        int part = 0;

        List<Integer> keys = loadDataToPartition(part, DEFAULT_CACHE_NAME, 100, 
0, 1);

        forceCheckpoint(); // Prevent IGNITE-10088

        stopGrid(1);

        awaitPartitionMapExchange();

        List<Integer> keys1 = loadDataToPartition(part, DEFAULT_CACHE_NAME, 
100, 100, 1);

        stopAllGrids();
        
        crd  = startGrid(0);
        startGrid(1);

        crd.cluster().active(true);

        awaitPartitionMapExchange(); // grid0 will not provide history.
    }
{noformat}

  was:
This is because 
org.apache.ignite.internal.processors.cache.persistence.IgniteCacheDatabaseSharedManager#reserveHistoryForExchange
 is called before 
org.apache.ignite.internal.processors.cache.persistence.IgniteCacheDatabaseSharedManager#beforeExchange,
 which restores correct partition state.

{noformat}
public void testHistory() throws Exception {
        IgniteEx crd = startGrid(0);
        startGrid(1);

        crd.cluster().active(true);

        awaitPartitionMapExchange();

        int part = 0;

        List<Integer> keys = loadDataToPartition(part, DEFAULT_CACHE_NAME, 100, 
0, 1);

        forceCheckpoint(); // Prevent IGNITE-10088

        stopAllGrids();

        awaitPartitionMapExchange();

        List<Integer> keys1 = loadDataToPartition(part, DEFAULT_CACHE_NAME, 
100, 100, 1);
        
        crd  = startGrid(0);
        startGrid(1);

        crd.cluster().active(true);

        awaitPartitionMapExchange(); // grid0 will not provide history.
    }
{noformat}


> Node is mistakenly excluded from history suppliers preventing historical 
> rebalance.
> -----------------------------------------------------------------------------------
>
>                 Key: IGNITE-10117
>                 URL: https://issues.apache.org/jira/browse/IGNITE-10117
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Alexei Scherbakov
>            Priority: Major
>             Fix For: 2.8
>
>
> This is because 
> org.apache.ignite.internal.processors.cache.persistence.IgniteCacheDatabaseSharedManager#reserveHistoryForExchange
>  is called before 
> org.apache.ignite.internal.processors.cache.persistence.IgniteCacheDatabaseSharedManager#beforeExchange,
>  which restores correct partition state.
> {noformat}
> public void testHistory() throws Exception {
>         IgniteEx crd = startGrid(0);
>         startGrid(1);
>         crd.cluster().active(true);
>         awaitPartitionMapExchange();
>         int part = 0;
>         List<Integer> keys = loadDataToPartition(part, DEFAULT_CACHE_NAME, 
> 100, 0, 1);
>         forceCheckpoint(); // Prevent IGNITE-10088
>         stopGrid(1);
>         awaitPartitionMapExchange();
>         List<Integer> keys1 = loadDataToPartition(part, DEFAULT_CACHE_NAME, 
> 100, 100, 1);
>         stopAllGrids();
>         
>         crd  = startGrid(0);
>         startGrid(1);
>         crd.cluster().active(true);
>         awaitPartitionMapExchange(); // grid0 will not provide history.
>     }
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to