@@ -52,10 +52,11 @@ public class InternalEngineMergeTests extends ElasticsearchIntegrationTest {
5252 @ Test
5353 @ LuceneTestCase .Slow
5454 public void testMergesHappening () throws InterruptedException , IOException , ExecutionException {
55- final int numOfShards = 5 ;
55+ final int numOfShards = randomIntBetween ( 1 , 5 ) ;
5656 // some settings to keep num segments low
5757 assertAcked (prepareCreate ("test" ).setSettings (ImmutableSettings .builder ()
5858 .put (IndexMetaData .SETTING_NUMBER_OF_SHARDS , numOfShards )
59+ .put (IndexMetaData .SETTING_NUMBER_OF_REPLICAS , 0 )
5960 .put (LogDocMergePolicyProvider .MIN_MERGE_DOCS_KEY , 10 )
6061 .put (LogDocMergePolicyProvider .MERGE_FACTORY_KEY , 5 )
6162 .put (LogByteSizeMergePolicy .DEFAULT_MIN_MERGE_MB , 0.5 )
@@ -75,20 +76,21 @@ public void testMergesHappening() throws InterruptedException, IOException, Exec
7576 IndicesStatsResponse stats = client ().admin ().indices ().prepareStats ("test" ).setSegments (true ).setMerge (true ).get ();
7677 logger .info ("index round [{}] - segments {}, total merges {}, current merge {}" , i , stats .getPrimaries ().getSegments ().getCount (), stats .getPrimaries ().getMerge ().getTotal (), stats .getPrimaries ().getMerge ().getCurrent ());
7778 }
79+ final long upperNumberSegments = 2 * numOfShards * 10 ;
7880 awaitBusy (new Predicate <Object >() {
7981 @ Override
8082 public boolean apply (Object input ) {
8183 IndicesStatsResponse stats = client ().admin ().indices ().prepareStats ().setSegments (true ).setMerge (true ).get ();
8284 logger .info ("numshards {}, segments {}, total merges {}, current merge {}" , numOfShards , stats .getPrimaries ().getSegments ().getCount (), stats .getPrimaries ().getMerge ().getTotal (), stats .getPrimaries ().getMerge ().getCurrent ());
8385 long current = stats .getPrimaries ().getMerge ().getCurrent ();
8486 long count = stats .getPrimaries ().getSegments ().getCount ();
85- return count < 50 && current == 0 ;
87+ return count < upperNumberSegments && current == 0 ;
8688 }
8789 });
8890 IndicesStatsResponse stats = client ().admin ().indices ().prepareStats ().setSegments (true ).setMerge (true ).get ();
8991 logger .info ("numshards {}, segments {}, total merges {}, current merge {}" , numOfShards , stats .getPrimaries ().getSegments ().getCount (), stats .getPrimaries ().getMerge ().getTotal (), stats .getPrimaries ().getMerge ().getCurrent ());
9092 long count = stats .getPrimaries ().getSegments ().getCount ();
91- assertThat (count , Matchers .lessThanOrEqualTo (50l ));
93+ assertThat (count , Matchers .lessThanOrEqualTo (upperNumberSegments ));
9294 }
9395
9496}
0 commit comments