@@ -1808,7 +1808,7 @@ void MigrateKeys()
1808
1808
var status = context . clusterTestUtils . SetSlot ( _tgt , slot , "IMPORTING" , nodeIds [ _src ] , logger : context . logger ) ;
1809
1809
while ( string . IsNullOrEmpty ( status ) || ! status . Equals ( "OK" ) )
1810
1810
{
1811
- SetSlot ( _src ) ;
1811
+ SetSlot ( _src , slot ) ;
1812
1812
ClusterTestUtils . BackOff ( cancellationToken : cancellationToken , msg : $ "{ nodeIds [ _src ] } ({ nodeEndpoints [ _src ] . Port } ) > { slot } > { nodeIds [ _tgt ] } ({ nodeEndpoints [ _tgt ] . Port } )") ;
1813
1813
status = context . clusterTestUtils . SetSlot ( _tgt , slot , "IMPORTING" , nodeIds [ _src ] , logger : context . logger ) ;
1814
1814
}
@@ -1847,6 +1847,8 @@ void MigrateSlots()
1847
1847
var node = config . GetBySlot ( slot ) ;
1848
1848
if ( node != null && node . NodeId . Equals ( nodeIds [ _src ] ) )
1849
1849
break ;
1850
+ // Force set slot to src node
1851
+ SetSlot ( _src , slot ) ;
1850
1852
ClusterTestUtils . BackOff ( cancellationToken : cancellationToken ) ;
1851
1853
}
1852
1854
@@ -1878,15 +1880,6 @@ void MigrateSlots()
1878
1880
ClusterTestUtils . BackOff ( cancellationToken : cancellationToken ) ;
1879
1881
}
1880
1882
}
1881
-
1882
- void SetSlot ( int nodeIndex )
1883
- {
1884
- for ( var i = 0 ; i < shards ; i ++ )
1885
- {
1886
- var resp = context . clusterTestUtils . SetSlot ( i , slot , "NODE" , nodeIds [ nodeIndex ] , logger : context . logger ) ;
1887
- ClassicAssert . AreEqual ( "OK" , resp ) ;
1888
- }
1889
- }
1890
1883
}
1891
1884
1892
1885
ValidateConfig ( ) ;
@@ -1932,14 +1925,25 @@ void ValidateConfig()
1932
1925
1933
1926
if ( node == null || nodeIds [ shards - 1 ] != node . NodeId )
1934
1927
{
1928
+ // If failed to converge start from the beginning and backOff to give time to converge
1935
1929
i = 0 ;
1930
+ SetSlot ( shards - 1 , slot ) ;
1936
1931
ClusterTestUtils . BackOff ( cancellationToken : cancellationToken ) ;
1937
1932
continue ;
1938
1933
}
1939
1934
ClassicAssert . AreEqual ( nodeIds [ shards - 1 ] , node . NodeId ) ;
1940
1935
}
1941
1936
}
1942
1937
}
1938
+
1939
+ void SetSlot ( int nodeIndex , int slot )
1940
+ {
1941
+ for ( var i = 0 ; i < shards ; i ++ )
1942
+ {
1943
+ var resp = context . clusterTestUtils . SetSlot ( i , slot , "NODE" , nodeIds [ nodeIndex ] , logger : context . logger ) ;
1944
+ ClassicAssert . AreEqual ( "OK" , resp ) ;
1945
+ }
1946
+ }
1943
1947
}
1944
1948
}
1945
1949
}
0 commit comments