[jira] [Commented] (CASSANDRA-14173) JDK 8u162 breaks JMX integration
[ https://issues.apache.org/jira/browse/CASSANDRA-14173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16333945#comment-16333945 ] Abdulfattah Safa commented on CASSANDRA-14173: -- 161 has the same issue. I had to downgrade to 152 to get it working again. > JDK 8u162 breaks JMX integration > > > Key: CASSANDRA-14173 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14173 > Project: Cassandra > Issue Type: Bug >Reporter: Sam Tunnicliffe >Priority: Critical > Fix For: 3.11.2 > > Attachments: cassandra-14173.39-trunk.patch, cassandra-14173.patch > > > {\{org.apache.cassandra.utils.JMXServerUtils}} which is used to > programatically configure the JMX server and RMI registry (CASSANDRA-2967, > CASSANDRA-10091) depends on some JDK internal classes/interfaces. A change to > one of these, introduced in Oracle JDK 1.8.0_162 is incompatible, which means > we cannot build using that JDK version. Upgrading the JVM on a node running > 3.6+ will result in Cassandra being unable to start. > {noformat} > ERROR [main] 2018-01-18 07:33:18,804 CassandraDaemon.java:706 - Exception > encountered during startup > java.lang.AbstractMethodError: > org.apache.cassandra.utils.JMXServerUtils$Exporter.exportObject(Ljava/rmi/Remote;ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;Lsun/misc/ObjectInputFilter;)Ljava/rmi/Remote; > at > javax.management.remote.rmi.RMIJRMPServerImpl.export(RMIJRMPServerImpl.java:150) > ~[na:1.8.0_162] > at > javax.management.remote.rmi.RMIJRMPServerImpl.export(RMIJRMPServerImpl.java:135) > ~[na:1.8.0_162] > at > javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:405) > ~[na:1.8.0_162] > at > org.apache.cassandra.utils.JMXServerUtils.createJMXServer(JMXServerUtils.java:104) > ~[apache-cassandra-3.11.2-SNAPSHOT.jar:3.11.2-SNAPSHOT] > at > org.apache.cassandra.service.CassandraDaemon.maybeInitJmx(CassandraDaemon.java:143) > [apache-cassandra-3.11.2-SNAPSHOT.jar:3.11.2-SNAPSHOT] > at > org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:188) > [apache-cassandra-3.11.2-SNAPSHOT.jar:3.11.2-SNAPSHOT] > at > org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:600) > [apache-cassandra-3.11.2-SNAPSHOT.jar:3.11.2-SNAPSHOT] > at > org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:689) > [apache-cassandra-3.11.2-SNAPSHOT.jar:3.11.2-SNAPSHOT]{noformat} > This is also a problem for CASSANDRA-9608, as the internals are completely > re-organised in JDK9, so a more stable solution that can be applied to both > JDK8 & JDK9 is required. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14173) JDK 8u162 breaks JMX integration
[ https://issues.apache.org/jira/browse/CASSANDRA-14173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=1683#comment-1683 ] Edward Ribeiro commented on CASSANDRA-14173: Yes [~mshuler], the first cut of this patch *requires* >= 1.8u161 :( OTOH, I have put together another version (see attachment) that compiles on both 152 and 161. *_But_* *_I still need to verify if it doesn't break C* at runtime, though!_* (heh, changing jdk back and forth messed up my IDE so it dragged me down) AFAIK, 161 build has both the legacy and the new constructor (the one with _ObjectInputFilter_), so it should work as intended, but I am not sure about 152 yet. _Please_, let me know what you think, thanks. > JDK 8u162 breaks JMX integration > > > Key: CASSANDRA-14173 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14173 > Project: Cassandra > Issue Type: Bug >Reporter: Sam Tunnicliffe >Priority: Critical > Fix For: 3.11.2 > > Attachments: cassandra-14173.2.patch, cassandra-14173.patch > > > {\{org.apache.cassandra.utils.JMXServerUtils}} which is used to > programatically configure the JMX server and RMI registry (CASSANDRA-2967, > CASSANDRA-10091) depends on some JDK internal classes/interfaces. A change to > one of these, introduced in Oracle JDK 1.8.0_162 is incompatible, which means > we cannot build using that JDK version. Upgrading the JVM on a node running > 3.6+ will result in Cassandra being unable to start. > {noformat} > ERROR [main] 2018-01-18 07:33:18,804 CassandraDaemon.java:706 - Exception > encountered during startup > java.lang.AbstractMethodError: > org.apache.cassandra.utils.JMXServerUtils$Exporter.exportObject(Ljava/rmi/Remote;ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;Lsun/misc/ObjectInputFilter;)Ljava/rmi/Remote; > at > javax.management.remote.rmi.RMIJRMPServerImpl.export(RMIJRMPServerImpl.java:150) > ~[na:1.8.0_162] > at > javax.management.remote.rmi.RMIJRMPServerImpl.export(RMIJRMPServerImpl.java:135) > ~[na:1.8.0_162] > at > javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:405) > ~[na:1.8.0_162] > at > org.apache.cassandra.utils.JMXServerUtils.createJMXServer(JMXServerUtils.java:104) > ~[apache-cassandra-3.11.2-SNAPSHOT.jar:3.11.2-SNAPSHOT] > at > org.apache.cassandra.service.CassandraDaemon.maybeInitJmx(CassandraDaemon.java:143) > [apache-cassandra-3.11.2-SNAPSHOT.jar:3.11.2-SNAPSHOT] > at > org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:188) > [apache-cassandra-3.11.2-SNAPSHOT.jar:3.11.2-SNAPSHOT] > at > org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:600) > [apache-cassandra-3.11.2-SNAPSHOT.jar:3.11.2-SNAPSHOT] > at > org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:689) > [apache-cassandra-3.11.2-SNAPSHOT.jar:3.11.2-SNAPSHOT]{noformat} > This is also a problem for CASSANDRA-9608, as the internals are completely > re-organised in JDK9, so a more stable solution that can be applied to both > JDK8 & JDK9 is required. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14173) JDK 8u162 breaks JMX integration
[ https://issues.apache.org/jira/browse/CASSANDRA-14173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16333282#comment-16333282 ] Michael Shuler commented on CASSANDRA-14173: Build fails on JDK 1.8u152 - this patch would appear to *require* >= 1.8u161? {noformat} (trunk *)mshuler@hana:~/git/cassandra$ git diff diff --git a/src/java/org/apache/cassandra/utils/JMXServerUtils.java b/src/java/org/apache/cassandra/utils/JMXServerUtils.java index e78ed01746..072f237049 100644 --- a/src/java/org/apache/cassandra/utils/JMXServerUtils.java +++ b/src/java/org/apache/cassandra/utils/JMXServerUtils.java @@ -46,6 +46,7 @@ import org.slf4j.LoggerFactory; import com.sun.jmx.remote.internal.RMIExporter; import com.sun.jmx.remote.security.JMXPluggableAuthenticator; import org.apache.cassandra.auth.jmx.AuthenticationProxy; +import sun.misc.ObjectInputFilter; import sun.rmi.registry.RegistryImpl; import sun.rmi.server.UnicastServerRef2; @@ -308,10 +309,10 @@ public class JMXServerUtils // to our custom Registry too. private Remote connectorServer; - public Remote exportObject(Remote obj, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) + public Remote exportObject(Remote obj, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf, ObjectInputFilter filter) throws RemoteException { - Remote remote = new UnicastServerRef2(port, csf, ssf).exportObject(obj, null, true); + Remote remote = new UnicastServerRef2(port, csf, ssf, filter).exportObject(obj, null, true); // Keep a reference to the first object exported, the JMXConnectorServer if (connectorServer == null) connectorServer = remote; (trunk *)mshuler@hana:~/git/cassandra$ java -version java version "1.8.0_152" Java(TM) SE Runtime Environment (build 1.8.0_152-b16) Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode) (trunk *)mshuler@hana:~/git/cassandra$ ant Buildfile: /home/mshuler/git/cassandra/build.xml Trying to override old definition of task junit init: [mkdir] Created dir: /home/mshuler/git/cassandra/build/classes/main [mkdir] Created dir: /home/mshuler/git/cassandra/build/test/lib [mkdir] Created dir: /home/mshuler/git/cassandra/build/test/classes [mkdir] Created dir: /home/mshuler/git/cassandra/build/test/stress-classes [mkdir] Created dir: /home/mshuler/git/cassandra/src/gen-java [mkdir] Created dir: /home/mshuler/git/cassandra/build/lib [mkdir] Created dir: /home/mshuler/git/cassandra/build/jacoco [mkdir] Created dir: /home/mshuler/git/cassandra/build/jacoco/partials maven-ant-tasks-localrepo: [copy] Copying 1 file to /home/mshuler/git/cassandra/build maven-ant-tasks-download: maven-ant-tasks-init: maven-declare-dependencies: maven-ant-tasks-retrieve-build: [artifact:dependencies] Building ant file: /home/mshuler/git/cassandra/build/build-dependencies.xml [artifact:dependencies] Building ant file: /home/mshuler/git/cassandra/build/build-dependencies-sources.xml [copy] Copying 61 files to /home/mshuler/git/cassandra/build/lib/jars [copy] Copying 15 files to /home/mshuler/git/cassandra/build/lib/sources [copy] Copying 9 files to /home/mshuler/git/cassandra/build/lib/jars [unzip] Expanding: /home/mshuler/git/cassandra/build/lib/jars/org.jacoco.agent-0.7.5.201505241946.jar into /home/mshuler/git/cassandra/build/lib/jars check-gen-cql3-grammar: gen-cql3-grammar: [echo] Building Grammar /home/mshuler/git/cassandra/src/antlr/Cql.g ... generate-cql-html: generate-jflex-java: [jflex] Generated: StandardTokenizerImpl.java build-project: [echo] apache-cassandra: /home/mshuler/git/cassandra/build.xml [javac] Compiling 1554 source files to /home/mshuler/git/cassandra/build/classes/main [javac] Note: Processing compiler hints annotations [javac] Note: Processing compiler hints annotations [javac] Note: Writing compiler command file at META-INF/hotspot_compiler [javac] Note: Done processing compiler hints annotations [javac] /home/mshuler/git/cassandra/src/java/org/apache/cassandra/utils/JMXServerUtils.java:305: error: Exporter is not abstract and does not override abstract method exportObject(Remote,int,RMIClientSocketFactory,RMIServerSocketFactory) in RMIExporter [javac] private static class Exporter implements RMIExporter [javac] ^ [javac] Note: Some input files use or override a deprecated API. [javac] Note: Recompile with -Xlint:deprecation for details. [javac] Note: Some input files use unchecked or unsafe operations. [javac] Note: Recompile with -Xlint:unchecked for details. [javac] 1 error BUILD FAILED /home/mshuler/git/cassandra/build.xml:762: Compile failed; see the compiler error output for details. Total time: 58 seconds{noformat} > JDK 8u162 breaks JMX integration > > > Key: CASSANDRA-14173 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14173 > Project: Cassandra > Issue Type: Bug >Reporter: Sam Tunnicliffe >
[jira] [Commented] (CASSANDRA-14173) JDK 8u162 breaks JMX integration
[ https://issues.apache.org/jira/browse/CASSANDRA-14173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16333279#comment-16333279 ] Edward Ribeiro commented on CASSANDRA-14173: Hi guys, I have uploaded a patch file based on cassandra-3.x branch. Please, see if it helps to solve the issue. Best regards, Ed > JDK 8u162 breaks JMX integration > > > Key: CASSANDRA-14173 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14173 > Project: Cassandra > Issue Type: Bug >Reporter: Sam Tunnicliffe >Priority: Critical > Fix For: 3.11.2 > > Attachments: cassandra-14173.patch > > > {\{org.apache.cassandra.utils.JMXServerUtils}} which is used to > programatically configure the JMX server and RMI registry (CASSANDRA-2967, > CASSANDRA-10091) depends on some JDK internal classes/interfaces. A change to > one of these, introduced in Oracle JDK 1.8.0_162 is incompatible, which means > we cannot build using that JDK version. Upgrading the JVM on a node running > 3.6+ will result in Cassandra being unable to start. > {noformat} > ERROR [main] 2018-01-18 07:33:18,804 CassandraDaemon.java:706 - Exception > encountered during startup > java.lang.AbstractMethodError: > org.apache.cassandra.utils.JMXServerUtils$Exporter.exportObject(Ljava/rmi/Remote;ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;Lsun/misc/ObjectInputFilter;)Ljava/rmi/Remote; > at > javax.management.remote.rmi.RMIJRMPServerImpl.export(RMIJRMPServerImpl.java:150) > ~[na:1.8.0_162] > at > javax.management.remote.rmi.RMIJRMPServerImpl.export(RMIJRMPServerImpl.java:135) > ~[na:1.8.0_162] > at > javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:405) > ~[na:1.8.0_162] > at > org.apache.cassandra.utils.JMXServerUtils.createJMXServer(JMXServerUtils.java:104) > ~[apache-cassandra-3.11.2-SNAPSHOT.jar:3.11.2-SNAPSHOT] > at > org.apache.cassandra.service.CassandraDaemon.maybeInitJmx(CassandraDaemon.java:143) > [apache-cassandra-3.11.2-SNAPSHOT.jar:3.11.2-SNAPSHOT] > at > org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:188) > [apache-cassandra-3.11.2-SNAPSHOT.jar:3.11.2-SNAPSHOT] > at > org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:600) > [apache-cassandra-3.11.2-SNAPSHOT.jar:3.11.2-SNAPSHOT] > at > org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:689) > [apache-cassandra-3.11.2-SNAPSHOT.jar:3.11.2-SNAPSHOT]{noformat} > This is also a problem for CASSANDRA-9608, as the internals are completely > re-organised in JDK9, so a more stable solution that can be applied to both > JDK8 & JDK9 is required. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org