From 9a427070bf25ad8ad9f0a122c80898d6bf1bc598 Mon Sep 17 00:00:00 2001 From: shubin Date: Fri, 27 Nov 2020 11:44:35 +0300 Subject: [PATCH 1/5] IGNITE-13680 maxSwappiness declared as int in suggestions --- .../internal/suggestions/OsConfigurationSuggestions.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/suggestions/OsConfigurationSuggestions.java b/modules/core/src/main/java/org/apache/ignite/internal/suggestions/OsConfigurationSuggestions.java index 695b4239bceb8..344f149622fbd 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/suggestions/OsConfigurationSuggestions.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/suggestions/OsConfigurationSuggestions.java @@ -78,10 +78,10 @@ public static synchronized List getSuggestions() { if ((value = readVmParam(SWAPPINESS)) != null) { try { - double maxSwappiness = 10.0; + int maxSwappiness = 10; - if (Float.parseFloat(value) > maxSwappiness) - suggestions.add(String.format("Reduce pages swapping ratio (set vm.%s=%f or less)", SWAPPINESS, + if (Integer.parseInt(value) > maxSwappiness) + suggestions.add(String.format("Reduce pages swapping ratio (set vm.%s=%d or less)", SWAPPINESS, maxSwappiness)); } catch (NumberFormatException ignored) { From 726d17baef75ffb52d0fbb7bc568e679066d535e Mon Sep 17 00:00:00 2001 From: shubin Date: Fri, 27 Nov 2020 13:25:34 +0300 Subject: [PATCH 2/5] IGNITE-13680 checkstyle amendments applied in OsConfigurationSuggestions.java --- .../OsConfigurationSuggestions.java | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/suggestions/OsConfigurationSuggestions.java b/modules/core/src/main/java/org/apache/ignite/internal/suggestions/OsConfigurationSuggestions.java index 344f149622fbd..afedba52a0881 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/suggestions/OsConfigurationSuggestions.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/suggestions/OsConfigurationSuggestions.java @@ -61,11 +61,11 @@ public static synchronized List getSuggestions() { List suggestions = new ArrayList<>(); if (U.isRedHat()) { - String value; - String expected = "500"; + String val; + String exp = "500"; - boolean dwcParamFlag = (value = readVmParam(DIRTY_WRITEBACK_CENTISECS)) != null && !value.equals(expected); - boolean decParamFlag = (value = readVmParam(DIRTY_EXPIRE_CENTISECS)) != null && !value.equals(expected); + boolean dwcParamFlag = (val = readVmParam(DIRTY_WRITEBACK_CENTISECS)) != null && !val.equals(exp); + boolean decParamFlag = (val = readVmParam(DIRTY_EXPIRE_CENTISECS)) != null && !val.equals(exp); if (dwcParamFlag || decParamFlag) suggestions.add(String.format("Speed up flushing of dirty pages by OS " + @@ -74,13 +74,13 @@ public static synchronized List getSuggestions() { (dwcParamFlag && decParamFlag ? " and " : ""), (decParamFlag ? "vm." + DIRTY_EXPIRE_CENTISECS : ""), (dwcParamFlag && decParamFlag ? "s" : ""), - expected)); + exp)); - if ((value = readVmParam(SWAPPINESS)) != null) { + if ((val = readVmParam(SWAPPINESS)) != null) { try { int maxSwappiness = 10; - if (Integer.parseInt(value) > maxSwappiness) + if (Integer.parseInt(val) > maxSwappiness) suggestions.add(String.format("Reduce pages swapping ratio (set vm.%s=%d or less)", SWAPPINESS, maxSwappiness)); } @@ -89,13 +89,13 @@ public static synchronized List getSuggestions() { } } - if ((value = readVmParam(ZONE_RECLAIM_MODE)) != null && !value.equals(expected = "0")) + if ((val = readVmParam(ZONE_RECLAIM_MODE)) != null && !val.equals(exp = "0")) suggestions.add(String.format("Disable NUMA memory reclaim (set vm.%s=%s)", ZONE_RECLAIM_MODE, - expected)); + exp)); - if ((value = readVmParam(EXTRA_FREE_KBYTES)) != null && !value.equals(expected = "1240000")) + if ((val = readVmParam(EXTRA_FREE_KBYTES)) != null && !val.equals(exp = "1240000")) suggestions.add(String.format("Avoid direct reclaim and page allocation failures (set vm.%s=%s)", - EXTRA_FREE_KBYTES, expected)); + EXTRA_FREE_KBYTES, exp)); } return suggestions; From 2a2d052242273db4546254ca8bb6ab080125e1a5 Mon Sep 17 00:00:00 2001 From: shubin Date: Mon, 7 Dec 2020 00:23:52 +0300 Subject: [PATCH 3/5] IGNITE-13680 Linux added to the systems list in OsConfigurationSuggestions.java --- .../ignite/internal/suggestions/OsConfigurationSuggestions.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/suggestions/OsConfigurationSuggestions.java b/modules/core/src/main/java/org/apache/ignite/internal/suggestions/OsConfigurationSuggestions.java index afedba52a0881..503d30623636d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/suggestions/OsConfigurationSuggestions.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/suggestions/OsConfigurationSuggestions.java @@ -60,7 +60,7 @@ public class OsConfigurationSuggestions { public static synchronized List getSuggestions() { List suggestions = new ArrayList<>(); - if (U.isRedHat()) { + if (U.isRedHat() || U.isLinux()) { String val; String exp = "500"; From 055e768a536daa48c51e11d5ebddfdc898cacc48 Mon Sep 17 00:00:00 2001 From: shubin Date: Wed, 9 Dec 2020 12:18:32 +0300 Subject: [PATCH 4/5] IGNITE-13680 check isRedHat removed in OsConfigurationSuggestions.java --- .../ignite/internal/suggestions/OsConfigurationSuggestions.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/suggestions/OsConfigurationSuggestions.java b/modules/core/src/main/java/org/apache/ignite/internal/suggestions/OsConfigurationSuggestions.java index 503d30623636d..3fa78cff5026a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/suggestions/OsConfigurationSuggestions.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/suggestions/OsConfigurationSuggestions.java @@ -60,7 +60,7 @@ public class OsConfigurationSuggestions { public static synchronized List getSuggestions() { List suggestions = new ArrayList<>(); - if (U.isRedHat() || U.isLinux()) { + if (U.isLinux()) { String val; String exp = "500"; From f6d8bd170c25442b75a380eb0fc18a74f87240ec Mon Sep 17 00:00:00 2001 From: shubin Date: Mon, 28 Dec 2020 09:44:24 +0300 Subject: [PATCH 5/5] IGNITE-13680 Cast exp and val to int and replaced .equals comparison with val > exp (500) in OsConfigurationSuggestions.java --- .../OsConfigurationSuggestions.java | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/suggestions/OsConfigurationSuggestions.java b/modules/core/src/main/java/org/apache/ignite/internal/suggestions/OsConfigurationSuggestions.java index 3fa78cff5026a..e9d04ec78c115 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/suggestions/OsConfigurationSuggestions.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/suggestions/OsConfigurationSuggestions.java @@ -61,15 +61,15 @@ public static synchronized List getSuggestions() { List suggestions = new ArrayList<>(); if (U.isLinux()) { - String val; - String exp = "500"; + Integer val; + int exp = 500; - boolean dwcParamFlag = (val = readVmParam(DIRTY_WRITEBACK_CENTISECS)) != null && !val.equals(exp); - boolean decParamFlag = (val = readVmParam(DIRTY_EXPIRE_CENTISECS)) != null && !val.equals(exp); + boolean dwcParamFlag = (val = readVmParam(DIRTY_WRITEBACK_CENTISECS)) != null && val > exp; + boolean decParamFlag = (val = readVmParam(DIRTY_EXPIRE_CENTISECS)) != null && val > exp; if (dwcParamFlag || decParamFlag) suggestions.add(String.format("Speed up flushing of dirty pages by OS " + - "(alter %s%s%s parameter%s by setting to %s)", + "(alter %s%s%s parameter%s by setting to %d)", (dwcParamFlag ? "vm." + DIRTY_WRITEBACK_CENTISECS : ""), (dwcParamFlag && decParamFlag ? " and " : ""), (decParamFlag ? "vm." + DIRTY_EXPIRE_CENTISECS : ""), @@ -80,7 +80,7 @@ public static synchronized List getSuggestions() { try { int maxSwappiness = 10; - if (Integer.parseInt(val) > maxSwappiness) + if (val > maxSwappiness) suggestions.add(String.format("Reduce pages swapping ratio (set vm.%s=%d or less)", SWAPPINESS, maxSwappiness)); } @@ -89,12 +89,12 @@ public static synchronized List getSuggestions() { } } - if ((val = readVmParam(ZONE_RECLAIM_MODE)) != null && !val.equals(exp = "0")) - suggestions.add(String.format("Disable NUMA memory reclaim (set vm.%s=%s)", ZONE_RECLAIM_MODE, + if ((val = readVmParam(ZONE_RECLAIM_MODE)) != null && val > (exp = 0)) + suggestions.add(String.format("Disable NUMA memory reclaim (set vm.%s=%d)", ZONE_RECLAIM_MODE, exp)); - if ((val = readVmParam(EXTRA_FREE_KBYTES)) != null && !val.equals(exp = "1240000")) - suggestions.add(String.format("Avoid direct reclaim and page allocation failures (set vm.%s=%s)", + if ((val = readVmParam(EXTRA_FREE_KBYTES)) != null && val < (exp = 1240000)) + suggestions.add(String.format("Avoid direct reclaim and page allocation failures (set vm.%s=%d)", EXTRA_FREE_KBYTES, exp)); } @@ -105,14 +105,14 @@ public static synchronized List getSuggestions() { * @param name Parameter name. * @return Value (possibly null). */ - @Nullable private static String readVmParam(@NotNull String name) { + @Nullable private static Integer readVmParam(@NotNull String name) { try { Path path = Paths.get(VM_PARAMS_BASE_PATH + name); if (!Files.exists(path)) return null; - return readLine(path); + return Integer.parseInt(readLine(path)); } catch (Exception ignored) { return null;