You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Rustam Aliyev (JIRA)" <ji...@apache.org> on 2010/12/07 17:29:15 UTC

[jira] Created: (CASSANDRA-1832) mx4j does not load

mx4j does not load
------------------

                 Key: CASSANDRA-1832
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1832
             Project: Cassandra
          Issue Type: Bug
          Components: Core
    Affects Versions: 0.7.0 rc 1
         Environment: CentOS 5.5
            Reporter: Rustam Aliyev
            Priority: Minor


Adding mx4j-tools.jar (latest) to the library causes following exception:

{code}
 WARN 20:22:25,123 Could not start register mbean in JMX
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.cassandra.utils.Mx4jTool.maybeLoad(Mx4jTool.java:67)
	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:169)
	at org.apache.cassandra.thrift.CassandraDaemon.setup(CassandraDaemon.java:55)
	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:216)
	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:134)
Caused by: java.net.BindException: Address already in use
	at java.net.PlainSocketImpl.socketBind(Native Method)
	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
	at java.net.ServerSocket.bind(ServerSocket.java:319)
	at java.net.ServerSocket.<init>(ServerSocket.java:185)
	at mx4j.tools.adaptor.PlainAdaptorServerSocketFactory.createServerSocket(PlainAdaptorServerSocketFactory.java:24)
	at mx4j.tools.adaptor.http.HttpAdaptor.createServerSocket(HttpAdaptor.java:672)
	at mx4j.tools.adaptor.http.HttpAdaptor.start(HttpAdaptor.java:478)
	... 9 more
{code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1832) mx4j does not load

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12970414#action_12970414 ] 

Hudson commented on CASSANDRA-1832:
-----------------------------------

Integrated in Cassandra-0.7 #70 (See [https://hudson.apache.org/hudson/job/Cassandra-0.7/70/])
    

> mx4j does not load
> ------------------
>
>                 Key: CASSANDRA-1832
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1832
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Tools
>    Affects Versions: 0.7.0 rc 1
>         Environment: CentOS 5.5
>            Reporter: Rustam Aliyev
>            Assignee: Ran Tavory
>            Priority: Minor
>             Fix For: 0.7.0
>
>         Attachments: CASSANDRA-1832.patch
>
>
> Adding mx4j-tools.jar (latest) to the library causes following exception:
> {code}
>  WARN 20:22:25,123 Could not start register mbean in JMX
> java.lang.reflect.InvocationTargetException
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.cassandra.utils.Mx4jTool.maybeLoad(Mx4jTool.java:67)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:169)
> 	at org.apache.cassandra.thrift.CassandraDaemon.setup(CassandraDaemon.java:55)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:216)
> 	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:134)
> Caused by: java.net.BindException: Address already in use
> 	at java.net.PlainSocketImpl.socketBind(Native Method)
> 	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
> 	at java.net.ServerSocket.bind(ServerSocket.java:319)
> 	at java.net.ServerSocket.<init>(ServerSocket.java:185)
> 	at mx4j.tools.adaptor.PlainAdaptorServerSocketFactory.createServerSocket(PlainAdaptorServerSocketFactory.java:24)
> 	at mx4j.tools.adaptor.http.HttpAdaptor.createServerSocket(HttpAdaptor.java:672)
> 	at mx4j.tools.adaptor.http.HttpAdaptor.start(HttpAdaptor.java:478)
> 	... 9 more
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1832) mx4j does not load

Posted by "Ran Tavory (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ran Tavory updated CASSANDRA-1832:
----------------------------------

    Attachment: CASSANDRA-1832.patch

Patch that adds the variables MX4J_ADDRESS and MX4J_PORT to conf/cassandra-env.sh make configuration for mx4j obvious.

> mx4j does not load
> ------------------
>
>                 Key: CASSANDRA-1832
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1832
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Tools
>    Affects Versions: 0.7.0 rc 1
>         Environment: CentOS 5.5
>            Reporter: Rustam Aliyev
>            Priority: Minor
>             Fix For: 0.7.0
>
>         Attachments: CASSANDRA-1832.patch
>
>
> Adding mx4j-tools.jar (latest) to the library causes following exception:
> {code}
>  WARN 20:22:25,123 Could not start register mbean in JMX
> java.lang.reflect.InvocationTargetException
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.cassandra.utils.Mx4jTool.maybeLoad(Mx4jTool.java:67)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:169)
> 	at org.apache.cassandra.thrift.CassandraDaemon.setup(CassandraDaemon.java:55)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:216)
> 	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:134)
> Caused by: java.net.BindException: Address already in use
> 	at java.net.PlainSocketImpl.socketBind(Native Method)
> 	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
> 	at java.net.ServerSocket.bind(ServerSocket.java:319)
> 	at java.net.ServerSocket.<init>(ServerSocket.java:185)
> 	at mx4j.tools.adaptor.PlainAdaptorServerSocketFactory.createServerSocket(PlainAdaptorServerSocketFactory.java:24)
> 	at mx4j.tools.adaptor.http.HttpAdaptor.createServerSocket(HttpAdaptor.java:672)
> 	at mx4j.tools.adaptor.http.HttpAdaptor.start(HttpAdaptor.java:478)
> 	... 9 more
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1832) mx4j does not load

Posted by "Rustam Aliyev (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12969035#action_12969035 ] 

Rustam Aliyev commented on CASSANDRA-1832:
------------------------------------------

You right Ran, I checked this machine again and I have another service listening on 8081.
For some reason I thought that MX4J uses same port.

With config options we can close it now.

> mx4j does not load
> ------------------
>
>                 Key: CASSANDRA-1832
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1832
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Tools
>    Affects Versions: 0.7.0 rc 1
>         Environment: CentOS 5.5
>            Reporter: Rustam Aliyev
>            Assignee: Jonathan Ellis
>            Priority: Minor
>             Fix For: 0.7.0
>
>         Attachments: CASSANDRA-1832.patch
>
>
> Adding mx4j-tools.jar (latest) to the library causes following exception:
> {code}
>  WARN 20:22:25,123 Could not start register mbean in JMX
> java.lang.reflect.InvocationTargetException
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.cassandra.utils.Mx4jTool.maybeLoad(Mx4jTool.java:67)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:169)
> 	at org.apache.cassandra.thrift.CassandraDaemon.setup(CassandraDaemon.java:55)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:216)
> 	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:134)
> Caused by: java.net.BindException: Address already in use
> 	at java.net.PlainSocketImpl.socketBind(Native Method)
> 	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
> 	at java.net.ServerSocket.bind(ServerSocket.java:319)
> 	at java.net.ServerSocket.<init>(ServerSocket.java:185)
> 	at mx4j.tools.adaptor.PlainAdaptorServerSocketFactory.createServerSocket(PlainAdaptorServerSocketFactory.java:24)
> 	at mx4j.tools.adaptor.http.HttpAdaptor.createServerSocket(HttpAdaptor.java:672)
> 	at mx4j.tools.adaptor.http.HttpAdaptor.start(HttpAdaptor.java:478)
> 	... 9 more
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1832) mx4j does not load

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-1832:
--------------------------------------

      Component/s:     (was: Core)
                   Tools
    Fix Version/s: 0.7.0

> mx4j does not load
> ------------------
>
>                 Key: CASSANDRA-1832
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1832
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Tools
>    Affects Versions: 0.7.0 rc 1
>         Environment: CentOS 5.5
>            Reporter: Rustam Aliyev
>            Priority: Minor
>             Fix For: 0.7.0
>
>
> Adding mx4j-tools.jar (latest) to the library causes following exception:
> {code}
>  WARN 20:22:25,123 Could not start register mbean in JMX
> java.lang.reflect.InvocationTargetException
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.cassandra.utils.Mx4jTool.maybeLoad(Mx4jTool.java:67)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:169)
> 	at org.apache.cassandra.thrift.CassandraDaemon.setup(CassandraDaemon.java:55)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:216)
> 	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:134)
> Caused by: java.net.BindException: Address already in use
> 	at java.net.PlainSocketImpl.socketBind(Native Method)
> 	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
> 	at java.net.ServerSocket.bind(ServerSocket.java:319)
> 	at java.net.ServerSocket.<init>(ServerSocket.java:185)
> 	at mx4j.tools.adaptor.PlainAdaptorServerSocketFactory.createServerSocket(PlainAdaptorServerSocketFactory.java:24)
> 	at mx4j.tools.adaptor.http.HttpAdaptor.createServerSocket(HttpAdaptor.java:672)
> 	at mx4j.tools.adaptor.http.HttpAdaptor.start(HttpAdaptor.java:478)
> 	... 9 more
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1832) mx4j does not load

Posted by "Ran Tavory (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12969018#action_12969018 ] 

Ran Tavory commented on CASSANDRA-1832:
---------------------------------------

I think there's a confusion. 
There are two ports in business, one is the JMX port (default is 8080) and one is the MX4J port (default 8081)
If the JMX port is used when cassandra starts you see the following exception, which is different from what's pasted in this bug report:

apache-cassandra-0.7.0-rc1 $ bin/cassandra -f 
Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 8080; nested exception is: 
	java.net.BindException: Address already in use

If mx4j's port, by default 8081, is used, then you see the report from above, which btw isn't fatal, the server operates correctly but without mx4j.

WARN 20:22:25,123 Could not start register mbean in JMX
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.cassandra.utils.Mx4jTool.maybeLoad(Mx4jTool.java:67)
	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:169)
	at org.apache.cassandra.thrift.CassandraDaemon.setup(CassandraDaemon.java:55)
	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:216)
	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:134)
Caused by: java.net.BindException: Address already in use
	at java.net.PlainSocketImpl.socketBind(Native Method)
	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
	at java.net.ServerSocket.bind(ServerSocket.java:319)
	at java.net.ServerSocket.<init>(ServerSocket.java:185)
	at mx4j.tools.adaptor.PlainAdaptorServerSocketFactory.createServerSocket(PlainAdaptorServerSocketFactory.java:24)
	at mx4j.tools.adaptor.http.HttpAdaptor.createServerSocket(HttpAdaptor.java:672)
	at mx4j.tools.adaptor.http.HttpAdaptor.start(HttpAdaptor.java:478)
	... 9 more


So the problem in this case. I believe was that mx4j's port was bound to a different process.
To control the port used by mx4j use  -Dmx4jport=8082. See https://issues.apache.org/jira/browse/CASSANDRA-1068 for more details.

I think this is not a bug and recommend to close it as such.
I will, however, attach a patch for trunk to make this more obvious and add -Dmx4jport=8081 to conf/cassandra-env.sh

> mx4j does not load
> ------------------
>
>                 Key: CASSANDRA-1832
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1832
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Tools
>    Affects Versions: 0.7.0 rc 1
>         Environment: CentOS 5.5
>            Reporter: Rustam Aliyev
>            Priority: Minor
>             Fix For: 0.7.0
>
>
> Adding mx4j-tools.jar (latest) to the library causes following exception:
> {code}
>  WARN 20:22:25,123 Could not start register mbean in JMX
> java.lang.reflect.InvocationTargetException
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.cassandra.utils.Mx4jTool.maybeLoad(Mx4jTool.java:67)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:169)
> 	at org.apache.cassandra.thrift.CassandraDaemon.setup(CassandraDaemon.java:55)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:216)
> 	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:134)
> Caused by: java.net.BindException: Address already in use
> 	at java.net.PlainSocketImpl.socketBind(Native Method)
> 	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
> 	at java.net.ServerSocket.bind(ServerSocket.java:319)
> 	at java.net.ServerSocket.<init>(ServerSocket.java:185)
> 	at mx4j.tools.adaptor.PlainAdaptorServerSocketFactory.createServerSocket(PlainAdaptorServerSocketFactory.java:24)
> 	at mx4j.tools.adaptor.http.HttpAdaptor.createServerSocket(HttpAdaptor.java:672)
> 	at mx4j.tools.adaptor.http.HttpAdaptor.start(HttpAdaptor.java:478)
> 	... 9 more
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1832) mx4j does not load

Posted by "Rustam Aliyev (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12968833#action_12968833 ] 

Rustam Aliyev commented on CASSANDRA-1832:
------------------------------------------

I did a bit more tests and here are some results which might help:

1. JMX port set to 9090 in cassandra-env.sh
2. On the machine where another service running on 8080 we get exception above
3. On the machine where no service running on 8080 we don't get any exception and MX4J runs on port 9090

Seems like something checks for port 8080 even though it is configured to run on 9090.

> mx4j does not load
> ------------------
>
>                 Key: CASSANDRA-1832
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1832
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Tools
>    Affects Versions: 0.7.0 rc 1
>         Environment: CentOS 5.5
>            Reporter: Rustam Aliyev
>            Priority: Minor
>             Fix For: 0.7.0
>
>
> Adding mx4j-tools.jar (latest) to the library causes following exception:
> {code}
>  WARN 20:22:25,123 Could not start register mbean in JMX
> java.lang.reflect.InvocationTargetException
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.cassandra.utils.Mx4jTool.maybeLoad(Mx4jTool.java:67)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:169)
> 	at org.apache.cassandra.thrift.CassandraDaemon.setup(CassandraDaemon.java:55)
> 	at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:216)
> 	at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:134)
> Caused by: java.net.BindException: Address already in use
> 	at java.net.PlainSocketImpl.socketBind(Native Method)
> 	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
> 	at java.net.ServerSocket.bind(ServerSocket.java:319)
> 	at java.net.ServerSocket.<init>(ServerSocket.java:185)
> 	at mx4j.tools.adaptor.PlainAdaptorServerSocketFactory.createServerSocket(PlainAdaptorServerSocketFactory.java:24)
> 	at mx4j.tools.adaptor.http.HttpAdaptor.createServerSocket(HttpAdaptor.java:672)
> 	at mx4j.tools.adaptor.http.HttpAdaptor.start(HttpAdaptor.java:478)
> 	... 9 more
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.