10
10
package org .elasticsearch .server .cli ;
11
11
12
12
import org .elasticsearch .common .settings .Settings ;
13
+ import org .elasticsearch .common .util .FeatureFlag ;
13
14
import org .elasticsearch .test .ESTestCase ;
14
15
import org .elasticsearch .test .ESTestCase .WithoutSecurityManager ;
15
16
import org .hamcrest .Matcher ;
@@ -57,7 +58,8 @@ public void testMasterOnlyOptions() throws Exception {
57
58
assertHeapOptions (64 , containsInAnyOrder ("-Xmx31744m" , "-Xms31744m" ), "master" );
58
59
}
59
60
60
- public void testMlOnlyOptions () throws Exception {
61
+ public void testMlOnlyOptions_new () throws Exception {
62
+ assumeTrue ("feature flag must be enabled for new memory computation" , new FeatureFlag ("new_ml_memory_computation" ).isEnabled ());
61
63
assertHeapOptions (1 , containsInAnyOrder ("-Xmx272m" , "-Xms272m" ), "ml" );
62
64
assertHeapOptions (4 , containsInAnyOrder ("-Xmx1092m" , "-Xms1092m" ), "ml" );
63
65
assertHeapOptions (32 , containsInAnyOrder ("-Xmx5460m" , "-Xms5460m" ), "ml" );
@@ -67,6 +69,20 @@ public void testMlOnlyOptions() throws Exception {
67
69
assertHeapOptions (263 , containsInAnyOrder ("-Xmx21228m" , "-Xms21228m" ), "ml" );
68
70
}
69
71
72
+ public void testMlOnlyOptions_old () throws Exception {
73
+ assumeTrue (
74
+ "feature flag must be disabled for old memory computation" ,
75
+ new FeatureFlag ("new_ml_memory_computation" ).isEnabled () == false
76
+ );
77
+ assertHeapOptions (1 , containsInAnyOrder ("-Xmx408m" , "-Xms408m" ), "ml" );
78
+ assertHeapOptions (4 , containsInAnyOrder ("-Xmx1636m" , "-Xms1636m" ), "ml" );
79
+ assertHeapOptions (32 , containsInAnyOrder ("-Xmx8192m" , "-Xms8192m" ), "ml" );
80
+ assertHeapOptions (64 , containsInAnyOrder ("-Xmx11468m" , "-Xms11468m" ), "ml" );
81
+ // We'd never see a node this big in Cloud, but this assertion proves that the 31GB absolute maximum
82
+ // eventually kicks in (because 0.4 * 16 + 0.1 * (263 - 16) > 31)
83
+ assertHeapOptions (263 , containsInAnyOrder ("-Xmx31744m" , "-Xms31744m" ), "ml" );
84
+ }
85
+
70
86
public void testDataNodeOptions () throws Exception {
71
87
assertHeapOptions (1 , containsInAnyOrder ("-Xmx512m" , "-Xms512m" ), "data" );
72
88
assertHeapOptions (8 , containsInAnyOrder ("-Xmx4096m" , "-Xms4096m" ), "data" );
0 commit comments