You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by al...@apache.org on 2020/07/31 11:06:14 UTC
[ignite] branch ignite-2.9 updated: IGNITE-13306 Add Java 11
specific JVM flag for fixing CPU load metric - Fixes #8088
This is an automated email from the ASF dual-hosted git repository.
alexpl pushed a commit to branch ignite-2.9
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/ignite-2.9 by this push:
new 6592dfa IGNITE-13306 Add Java 11 specific JVM flag for fixing CPU load metric - Fixes #8088
6592dfa is described below
commit 6592dfa5782d23d480b4e79fb6bfe863cc8838ed
Author: Mirza Aliev <al...@gmail.com>
AuthorDate: Thu Jul 30 18:13:16 2020 +0300
IGNITE-13306 Add Java 11 specific JVM flag for fixing CPU load metric - Fixes #8088
Signed-off-by: Ivan Rakov <iv...@gmail.com>
(cherry picked from commit 65e0ca879975d7aa88d9d94dbb19db1d8ac9a39f)
---
bin/control.bat | 1 +
bin/control.sh | 1 +
bin/ignite.bat | 1 +
bin/ignite.sh | 1 +
bin/ignitevisorcmd.bat | 1 +
bin/ignitevisorcmd.sh | 1 +
examples/README.md | 1 +
.../ignite/internal/util/FeatureChecker.java | 3 ++-
.../internal/ClusterNodeMetricsSelfTest.java | 29 ++++++++++++++++++++++
modules/dev-utils/ignite-modules-test/build.gradle | 1 +
modules/platforms/cpp/core/src/ignition.cpp | 1 +
.../Apache.Ignite.Core/Impl/Unmanaged/Jni/Jvm.cs | 1 +
modules/sqlline/bin/sqlline.bat | 1 +
modules/sqlline/bin/sqlline.sh | 1 +
parent/pom.xml | 2 +-
15 files changed, 44 insertions(+), 2 deletions(-)
diff --git a/bin/control.bat b/bin/control.bat
index 77a3f3f..45a8042 100644
--- a/bin/control.bat
+++ b/bin/control.bat
@@ -244,6 +244,7 @@ if %MAJOR_JAVA_VER% GEQ 11 (
--add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED ^
--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED ^
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED ^
+ --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED ^
--illegal-access=permit ^
%JVM_OPTS%
)
diff --git a/bin/control.sh b/bin/control.sh
index 6396d4a..5d615d4 100755
--- a/bin/control.sh
+++ b/bin/control.sh
@@ -175,6 +175,7 @@ elif [ $version -ge 11 ] ; then
--add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED \
--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED \
+ --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED \
--illegal-access=permit \
${JVM_OPTS}"
fi
diff --git a/bin/ignite.bat b/bin/ignite.bat
index 98c20b8..b06bb1c 100644
--- a/bin/ignite.bat
+++ b/bin/ignite.bat
@@ -254,6 +254,7 @@ if %MAJOR_JAVA_VER% GEQ 11 (
--add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED ^
--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED ^
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED ^
+ --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED ^
--illegal-access=permit ^
%JVM_OPTS%
)
diff --git a/bin/ignite.sh b/bin/ignite.sh
index 265b214..baec5c2 100755
--- a/bin/ignite.sh
+++ b/bin/ignite.sh
@@ -172,6 +172,7 @@ elif [ $version -ge 11 ] ; then
--add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED \
--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED \
+ --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED \
--illegal-access=permit \
${JVM_OPTS}"
fi
diff --git a/bin/ignitevisorcmd.bat b/bin/ignitevisorcmd.bat
index 4852038..18da4e8 100644
--- a/bin/ignitevisorcmd.bat
+++ b/bin/ignitevisorcmd.bat
@@ -183,6 +183,7 @@ if %MAJOR_JAVA_VER% GEQ 11 (
--add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED ^
--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED ^
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED ^
+ --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED ^
--illegal-access=permit ^
%JVM_OPTS%
)
diff --git a/bin/ignitevisorcmd.sh b/bin/ignitevisorcmd.sh
index f7ee4e0..411efa4 100755
--- a/bin/ignitevisorcmd.sh
+++ b/bin/ignitevisorcmd.sh
@@ -141,6 +141,7 @@ elif [ $version -ge 11 ] ; then
--add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED \
--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED \
+ --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED \
--illegal-access=permit \
${JVM_OPTS}"
fi
diff --git a/examples/README.md b/examples/README.md
index 88de890..720c664 100644
--- a/examples/README.md
+++ b/examples/README.md
@@ -16,6 +16,7 @@ To set up local IDE to easier access to examples, it is possible to add followin
--add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED
--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED
+ --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED
--illegal-access=permit``
For example, for IntelliJ IDEA it is possible to use Application Templates.
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/FeatureChecker.java b/modules/core/src/main/java/org/apache/ignite/internal/util/FeatureChecker.java
index 5aba646..0f49693 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/FeatureChecker.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/FeatureChecker.java
@@ -21,12 +21,13 @@ package org.apache.ignite.internal.util;
* initialization effects.
*/
public class FeatureChecker {
- /** Required Options to Run un Java 9, 10, 11. */
+ /** Required Options to Run on Java 9, 10, 11. */
public static final String JAVA_9_10_11_OPTIONS = "--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED\n" +
"--add-exports=java.base/sun.nio.ch=ALL-UNNAMED\n" +
"--add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED\n" +
"--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED\n" +
"--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED\n" +
+ "--add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED\n" +
"--illegal-access=permit";
/** Java version specific warning to be added in case access failed */
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/ClusterNodeMetricsSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/ClusterNodeMetricsSelfTest.java
index 3d345a9..bf53322 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/ClusterNodeMetricsSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/ClusterNodeMetricsSelfTest.java
@@ -31,6 +31,8 @@ import org.apache.ignite.GridTestTask;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteCache;
import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.cache.CacheAtomicityMode;
+import org.apache.ignite.cache.CacheMode;
import org.apache.ignite.cache.eviction.fifo.FifoEvictionPolicy;
import org.apache.ignite.cluster.ClusterMetrics;
import org.apache.ignite.configuration.CacheConfiguration;
@@ -422,6 +424,33 @@ public class ClusterNodeMetricsSelfTest extends GridCommonAbstractTest {
}
/**
+ * @throws Exception If failed.
+ */
+ @Test
+ public void testCpuLoadMetric() throws Exception {
+ Ignite ignite = grid();
+
+ IgniteInternalFuture fut = GridTestUtils.runAsync(() -> {
+ try {
+ assertTrue(GridTestUtils.waitForCondition(
+ () -> ignite.cluster().localNode().metrics().getCurrentCpuLoad() > 0, 10000L));
+ }
+ catch (IgniteInterruptedCheckedException e) {
+ e.printStackTrace();
+ }
+ });
+
+ final IgniteCache cache = ignite.getOrCreateCache(new CacheConfiguration<>("TEST")
+ .setAtomicityMode(CacheAtomicityMode.ATOMIC)
+ .setCacheMode(CacheMode.REPLICATED));
+
+ for (int i = 0; i < MAX_VALS_AMOUNT * 1000; i++)
+ cache.put(i, i);
+
+ fut.get();
+ }
+
+ /**
* Test message.
*/
private static class TestMessage implements Serializable {
diff --git a/modules/dev-utils/ignite-modules-test/build.gradle b/modules/dev-utils/ignite-modules-test/build.gradle
index 04bbbb8..b3af4c2 100644
--- a/modules/dev-utils/ignite-modules-test/build.gradle
+++ b/modules/dev-utils/ignite-modules-test/build.gradle
@@ -128,6 +128,7 @@ test {
"--add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED",
"--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED",
"--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED",
+ "--add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED",
"--illegal-access=permit");
}
diff --git a/modules/platforms/cpp/core/src/ignition.cpp b/modules/platforms/cpp/core/src/ignition.cpp
index 7a68fab..7922146 100644
--- a/modules/platforms/cpp/core/src/ignition.cpp
+++ b/modules/platforms/cpp/core/src/ignition.cpp
@@ -149,6 +149,7 @@ namespace ignite
opts.push_back(CopyChars("--add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED"));
opts.push_back(CopyChars("--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED"));
opts.push_back(CopyChars("--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED"));
+ opts.push_back(CopyChars("--add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED"));
opts.push_back(CopyChars("--illegal-access=permit"));
}
}
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/Jvm.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/Jvm.cs
index 1b8ea0c..d28b97f 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/Jvm.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/Jvm.cs
@@ -49,6 +49,7 @@ namespace Apache.Ignite.Core.Impl.Unmanaged.Jni
"--add-exports=java.base/sun.nio.ch=ALL-UNNAMED",
"--add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED",
"--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED",
+ "--add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED",
"--illegal-access=permit"
};
diff --git a/modules/sqlline/bin/sqlline.bat b/modules/sqlline/bin/sqlline.bat
index e8866db..c8736dd 100644
--- a/modules/sqlline/bin/sqlline.bat
+++ b/modules/sqlline/bin/sqlline.bat
@@ -133,6 +133,7 @@ if %MAJOR_JAVA_VER% GEQ 11 (
--add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED ^
--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED ^
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED ^
+ --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED ^
--illegal-access=permit ^
%JVM_OPTS%
)
diff --git a/modules/sqlline/bin/sqlline.sh b/modules/sqlline/bin/sqlline.sh
index c177cf7..76520a7 100644
--- a/modules/sqlline/bin/sqlline.sh
+++ b/modules/sqlline/bin/sqlline.sh
@@ -88,6 +88,7 @@ elif [ $version -ge 11 ] ; then
--add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED \
--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED \
+ --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED \
--illegal-access=permit \
${JVM_OPTS}"
fi
diff --git a/parent/pom.xml b/parent/pom.xml
index 512149a..08e773f 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -1040,7 +1040,7 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
- <argLine>--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED --add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED --illegal-access=permit</argLine>
+ <argLine>--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED --add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED --illegal-access=permit</argLine>
</configuration>
</plugin>