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