65
65
import org .elasticsearch .test .junit .annotations .TestLogging ;
66
66
67
67
import java .util .Arrays ;
68
- import java .util .List ;
69
68
import java .util .Map ;
70
69
import java .util .stream .IntStream ;
71
70
@@ -165,11 +164,8 @@ public void testCreateShrinkIndexToN() {
165
164
}
166
165
167
166
public void testShrinkIndexPrimaryTerm () throws Exception {
168
- final List <Integer > factors = Arrays .asList (2 , 3 , 5 , 7 );
169
- final List <Integer > numberOfShardsFactors = randomSubsetOf (scaledRandomIntBetween (1 , factors .size () - 1 ), factors );
170
- final int numberOfShards = numberOfShardsFactors .stream ().reduce (1 , (x , y ) -> x * y );
171
- final int numberOfTargetShards = randomSubsetOf (randomInt (numberOfShardsFactors .size () - 1 ), numberOfShardsFactors )
172
- .stream ().reduce (1 , (x , y ) -> x * y );
167
+ int numberOfShards = randomIntBetween (2 , 20 );
168
+ int numberOfTargetShards = randomValueOtherThanMany (n -> numberOfShards % n != 0 , () -> randomIntBetween (1 , numberOfShards - 1 ));
173
169
internalCluster ().ensureAtLeastNumDataNodes (2 );
174
170
prepareCreate ("source" ).setSettings (Settings .builder ().put (indexSettings ()).put ("number_of_shards" , numberOfShards )).get ();
175
171
@@ -218,7 +214,7 @@ public void testShrinkIndexPrimaryTerm() throws Exception {
218
214
final Settings .Builder prepareShrinkSettings =
219
215
Settings .builder ().put ("index.routing.allocation.require._name" , mergeNode ).put ("index.blocks.write" , true );
220
216
client ().admin ().indices ().prepareUpdateSettings ("source" ).setSettings (prepareShrinkSettings ).get ();
221
- ensureGreen ();
217
+ ensureGreen (TimeValue . timeValueSeconds ( 120 )); // needs more than the default to relocate many shards
222
218
223
219
final IndexMetaData indexMetaData = indexMetaData (client (), "source" );
224
220
final long beforeShrinkPrimaryTerm = IntStream .range (0 , numberOfShards ).mapToLong (indexMetaData ::primaryTerm ).max ().getAsLong ();
@@ -228,7 +224,7 @@ public void testShrinkIndexPrimaryTerm() throws Exception {
228
224
Settings .builder ().put ("index.number_of_replicas" , 0 ).put ("index.number_of_shards" , numberOfTargetShards ).build ();
229
225
assertAcked (client ().admin ().indices ().prepareResizeIndex ("source" , "target" ).setSettings (shrinkSettings ).get ());
230
226
231
- ensureGreen ();
227
+ ensureGreen (TimeValue . timeValueSeconds ( 120 ) );
232
228
233
229
final IndexMetaData afterShrinkIndexMetaData = indexMetaData (client (), "target" );
234
230
for (int shardId = 0 ; shardId < numberOfTargetShards ; shardId ++) {
0 commit comments