Brandon Williams created CASSANDRA-11540:
--------------------------------------------

             Summary: The JVM should exit if jmx fails to bind
                 Key: CASSANDRA-11540
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11540
             Project: Cassandra
          Issue Type: Bug
          Components: Core
            Reporter: Brandon Williams
             Fix For: 2.1.x


If you are already running a cassandra instance, but for some reason try to 
start another one, this happens:

{noformat}
INFO  20:57:09 JNA mlockall successful
WARN  20:57:09 JMX is not enabled to receive remote connections. Please see 
cassandra-env.sh for more info.
ERROR 20:57:10 Error starting local jmx server:
java.rmi.server.ExportException: Port already in use: 7199; nested exception is:
        java.net.BindException: Address already in use
        at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:340) 
~[na:1.7.0_76]
        at 
sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:248) 
~[na:1.7.0_76]
        at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:411) 
~[na:1.7.0_76]
        at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:147) 
~[na:1.7.0_76]
        at 
sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:207) 
~[na:1.7.0_76]
        at sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:122) 
~[na:1.7.0_76]
        at sun.rmi.registry.RegistryImpl.<init>(RegistryImpl.java:98) 
~[na:1.7.0_76]
        at 
java.rmi.registry.LocateRegistry.createRegistry(LocateRegistry.java:239) 
~[na:1.7.0_76]
        at 
org.apache.cassandra.service.CassandraDaemon.maybeInitJmx(CassandraDaemon.java:100)
 [main/:na]
        at 
org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:222) 
[main/:na]
        at 
org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:564) 
[main/:na]
        at 
org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:653) 
[main/:na]
Caused by: java.net.BindException: Address already in use
        at java.net.PlainSocketImpl.socketBind(Native Method) ~[na:1.7.0_76]
        at 
java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376) 
~[na:1.7.0_76]
        at java.net.ServerSocket.bind(ServerSocket.java:376) ~[na:1.7.0_76]
        at java.net.ServerSocket.<init>(ServerSocket.java:237) ~[na:1.7.0_76]
        at 
javax.net.DefaultServerSocketFactory.createServerSocket(ServerSocketFactory.java:231)
 ~[na:1.7.0_76]
        at 
org.apache.cassandra.utils.RMIServerSocketFactoryImpl.createServerSocket(RMIServerSocketFactoryImpl.java:13)
 ~[main/:na]
        at 
sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(TCPEndpoint.java:666) 
~[na:1.7.0_76]
        at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:329) 
~[na:1.7.0_76]
        ... 11 common frames omitted
{noformat}

However the startup continues, and ends up replaying commitlogs, which is 
probably not a good thing.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to