Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Fix Version/s: 3.11.2, 4.0
    • Component/s: None
    • Labels:
      None

      Description

      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.

      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]

      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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                beobal Sam Tunnicliffe
                Reporter:
                beobal Sam Tunnicliffe
              • Votes:
                11 Vote for this issue
                Watchers:
                33 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: