@@ -19,10 +19,7 @@ public class OpenSearchMemoryHealthy {
1919
2020 public OpenSearchMemoryHealthy (Settings settings ) {
2121 randomFail = new RandomFail ();
22- memoryUsage =
23- isCalciteEnabled (settings )
24- ? GCedMemoryUsage .getInstance ()
25- : RuntimeMemoryUsage .getInstance ();
22+ memoryUsage = buildMemoryUsage (settings );
2623 }
2724
2825 @ VisibleForTesting
@@ -31,6 +28,16 @@ public OpenSearchMemoryHealthy(RandomFail randomFail, MemoryUsage memoryUsage) {
3128 this .memoryUsage = memoryUsage ;
3229 }
3330
31+ private MemoryUsage buildMemoryUsage (Settings settings ) {
32+ try {
33+ return isCalciteEnabled (settings )
34+ ? GCedMemoryUsage .getInstance ()
35+ : RuntimeMemoryUsage .getInstance ();
36+ } catch (MemoryUsageException e ) {
37+ return RuntimeMemoryUsage .getInstance ();
38+ }
39+ }
40+
3441 private boolean isCalciteEnabled (Settings settings ) {
3542 if (settings != null ) {
3643 return settings .getSettingValue (Settings .Key .CALCITE_ENGINE_ENABLED );
@@ -63,8 +70,11 @@ public boolean shouldFail() {
6370 }
6471
6572 @ NoArgsConstructor
66- public static class MemoryUsageExceedFastFailureException extends RuntimeException {}
73+ public static class MemoryUsageExceedFastFailureException extends MemoryUsageException {}
74+
75+ @ NoArgsConstructor
76+ public static class MemoryUsageExceedException extends MemoryUsageException {}
6777
6878 @ NoArgsConstructor
69- public static class MemoryUsageExceedException extends RuntimeException {}
79+ public static class MemoryUsageException extends RuntimeException {}
7080}
0 commit comments