You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Aaron Morton <aa...@thelastpickle.com> on 2010/09/29 23:37:26 UTC

MessagingServiceMBean does not support o.a.c.concurrent task counts

Running the current 0.7.0-beta2 #3 build, I get the error below when checking tpstats via node_tool. 

The MessagingService is registering itself as a mbean in org.apache.cassandra.concurrent, and the MessagingServiceMBean interface does not support the getActiveCount(), getCompletedTasks() and getPendingTasks() functions of the IExecutorMBean. 

Out of interest should it be registering the JMXEnabledThreadPoolExecutor it created on line 105, or should it be registered elsewhere?

It's still possible to view the task pool info through jconsole. 

I'll create a bug when Jira finishes re-indexing :)
Aaron


Pool Name                    Active   Pending      Completed
MIGRATION_STAGE                   0         0             17
GOSSIP_STAGE                      0         0              0
MESSAGING-SERVICE-POOL   Exception in thread "main" java.lang.reflect.UndeclaredThrowableException
        at $Proxy4.getActiveCount(Unknown Source)
        at org.apache.cassandra.tools.NodeCmd.printThreadPoolStats(NodeCmd.java:157)
        at org.apache.cassandra.tools.NodeCmd.main(NodeCmd.java:497)
Caused by: javax.management.AttributeNotFoundException: No such attribute: ActiveCount
        at com.sun.jmx.mbeanserver.PerInterface.getAttribute(PerInterface.java:63)
        at com.sun.jmx.mbeanserver.MBeanSupport.getAttribute(MBeanSupport.java:216)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:666)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:638)
        at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1404)
        at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
        at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265)
        at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360)
        at javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:600)
        at sun.reflect.GeneratedMethodAccessor92.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
        at sun.rmi.transport.Transport$1.run(Transport.java:159)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
        at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
        at java.util.concurrent.ThreadPoolExecutor$WorkerrunTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)
        at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
        at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
        at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
        at com.sunjmx.remote.internal.PRef.invoke(Unknown Source)
        at javax.management.remote.rmi.RMIConnectionImpl_Stub.getAttribute(Unknown Source)
        at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getAttribute(RMIConnector.java:878)
        at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:263)
        ... 3 more


Re: MessagingServiceMBean does not support o.a.c.concurrent task counts

Posted by Aaron Morton <aa...@thelastpickle.com>.
All good. 

And I learnt the JMXEnabledThreadPoolExecutor registers itself as an mbean :)

Thanks
Aaron


On 30 Sep, 2010,at 11:15 AM, Brandon Williams <dr...@gmail.com> wrote:

On Wed, Sep 29, 2010 at 4:37 PM, Aaron Morton <aa...@thelastpickle.com> wrote:
Running the current 0.7.0-beta2 #3 build, I get the error below when checking tpstats via node_tool. 

The MessagingService is registering itself as a mbean in org.apache.cassandra.concurrent, and the MessagingServiceMBean interface does not support the getActiveCount(), getCompletedTasks() and getPendingTasks() functions of the IExecutorMBean. 

Out of interest should it be registering the JMXEnabledThreadPoolExecutor it created on line 105, or should it be registered elsewhere?

Unfortunately, this was fixed in trunk in the commit made 4s after the one that the build is from.  It's annoying, but not critical enough to re-roll another beta (as you said, everything still works via JMX.)  The GCInspector will also report a similar error in the logs when it is activated.

-Brandon

Re: MessagingServiceMBean does not support o.a.c.concurrent task counts

Posted by Brandon Williams <dr...@gmail.com>.
On Wed, Sep 29, 2010 at 4:37 PM, Aaron Morton <aa...@thelastpickle.com>wrote:

> Running the current 0.7.0-beta2 #3 build, I get the error below when
> checking tpstats via node_tool.
>
> The MessagingService is registering itself as a mbean in
> org.apache.cassandra.concurrent, and the MessagingServiceMBean interface
> does not support the getActiveCount(), getCompletedTasks() and
> getPendingTasks() functions of the IExecutorMBean.
>
> Out of interest should it be registering the JMXEnabledThreadPoolExecutor
> it created on line 105, or should it be registered elsewhere?
>

Unfortunately, this was fixed in trunk in the commit made 4s after the one
that the build is from.  It's annoying, but not critical enough to re-roll
another beta (as you said, everything still works via JMX.)  The GCInspector
will also report a similar error in the logs when it is activated.

-Brandon