You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Rahul <ra...@gmail.com> on 2013/04/29 18:23:29 UTC

Exception when setting tokens for the cassandra nodes

Hi,
I am testing out Cassandra 1.2 on two of my local servers. But I face
problems with assigning  tokens to my nodes. When I use nodetool to set
token, I end up getting an java Exception.
My test setup is as follows,
Node1: <local ip 1> (seed)
Node2: <local ip 2> (seed)

Since I have two nodes, i calculated the tokens as 0 and 2^127/2
= 85070591730234615865843651857942052864. I was able to set token 0 for my
first node using nodetool move 0 , but when i am trying to
set 85070591730234615865843651857942052864 for my second node,
it throws a main UndeclaredThrowableException. Full stack is attached
bellow.

user@server~$ nodetool move 85070591730234615865843651857942052864

Exception in thread "main" java.lang.reflect.UndeclaredThrowableException
 at $Proxy0.getTokenToEndpointMap(Unknown Source)
at
org.apache.cassandra.tools.NodeProbe.getTokenToEndpointMap(NodeProbe.java:288)
 at org.apache.cassandra.tools.NodeCmd.printRing(NodeCmd.java:215)
at org.apache.cassandra.tools.NodeCmd.main(NodeCmd.java:1051)
Caused by: javax.management.InstanceNotFoundException:
org.apache.cassandra.db:type=StorageService
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1095)
 at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:643)
at
com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:668)
 at
javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1463)
at
javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:96)
 at
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1327)
at
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1419)
 at
javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:656)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:601)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
 at sun.rmi.transport.Transport$1.run(Transport.java:177)
at sun.rmi.transport.Transport$1.run(Transport.java:174)
 at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
 at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
 at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
 at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
 at
sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:273)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:251)
 at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:160)
at com.sun.jmx.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:901)
 at
javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:280)


Any suggestions towards solving this problem would be deeply appreciated.
thanks,
rahul

-- 

Rahul Erai
www.cse.iitk.ac.in/~rahule

RE: Exception when setting tokens for the cassandra nodes

Posted by Rahul <ra...@gmail.com>.
Oh.my bad. Thanks mate, that worked.
On Apr 29, 2013 10:03 PM, <mo...@barclays.com> wrote:

> For starters:  If you are using the Murmur3 partitioner, which is the
> default in cassandra.yaml, then you need to calculate the tokens using:***
> *
>
> python -c 'print [str(((2**64 / 2) * i) - 2**63) for i in range(2)]'****
>
> ** **
>
> which gives the following values:****
>
> ['-9223372036854775808', '0']****
>
> ** **
>
> *From:* Rahul [mailto:rahulerai@gmail.com]
> *Sent:* Monday, April 29, 2013 7:23 PM
> *To:* user@cassandra.apache.org
> *Subject:* Exception when setting tokens for the cassandra nodes****
>
> ** **
>
> Hi,****
>
> I am testing out Cassandra 1.2 on two of my local servers. But I face
> problems with assigning  tokens to my nodes. When I use nodetool to set
> token, I end up getting an java Exception.****
>
> My test setup is as follows,****
>
> Node1: <local ip 1> (seed)****
>
> Node2: <local ip 2> (seed)****
>
> ** **
>
> Since I have two nodes, i calculated the tokens as 0 and 2^127/2
> = 85070591730234615865843651857942052864. I was able to set token 0 for my
> first node using nodetool move 0 , but when i am trying to
> set 85070591730234615865843651857942052864 for my second node,****
>
> it throws a main UndeclaredThrowableException. Full stack is attached
> bellow.****
>
> ** **
>
> user@server~$ nodetool move 85070591730234615865843651857942052864****
>
> ** **
>
> Exception in thread "main" java.lang.reflect.UndeclaredThrowableException*
> ***
>
>             at $Proxy0.getTokenToEndpointMap(Unknown Source)****
>
>             at
> org.apache.cassandra.tools.NodeProbe.getTokenToEndpointMap(NodeProbe.java:288)
> ****
>
>             at
> org.apache.cassandra.tools.NodeCmd.printRing(NodeCmd.java:215)****
>
>             at org.apache.cassandra.tools.NodeCmd.main(NodeCmd.java:1051)*
> ***
>
> Caused by: javax.management.InstanceNotFoundException:
> org.apache.cassandra.db:type=StorageService****
>
>             at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1095)
> ****
>
>             at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:643)
> ****
>
>             at
> com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:668)
> ****
>
>             at
> javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1463)
> ****
>
>             at
> javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:96)
> ****
>
>             at
> javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1327)
> ****
>
>             at
> javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1419)
> ****
>
>             at
> javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:656)
> ****
>
>             at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> ****
>
>             at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> ****
>
>             at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> ****
>
>             at java.lang.reflect.Method.invoke(Method.java:601)****
>
>             at
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)****
>
>             at sun.rmi.transport.Transport$1.run(Transport.java:177)****
>
>             at sun.rmi.transport.Transport$1.run(Transport.java:174)****
>
>             at java.security.AccessController.doPrivileged(Native Method)*
> ***
>
>             at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
> ****
>
>             at
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553)**
> **
>
>             at
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
> ****
>
>             at
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
> ****
>
>             at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> ****
>
>             at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> ****
>
>             at java.lang.Thread.run(Thread.java:722)****
>
>             at
> sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:273)
> ****
>
>             at
> sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:251)*
> ***
>
>             at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:160)****
>
>             at com.sun.jmx.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:901)
> ****
>
>             at
> javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:280)
> ****
>
> ** **
>
> ** **
>
> Any suggestions towards solving this problem would be deeply appreciated.*
> ***
>
> thanks,****
>
> rahul****
>
> ** **
>
> -- ****
>
> ** **
>
> Rahul Erai****
>
> www.cse.iitk.ac.in/~rahule****
>
> ** **
>
> _______________________________________________
>
> This message is for information purposes only, it is not a recommendation,
> advice, offer or solicitation to buy or sell a product or service nor an
> official confirmation of any transaction. It is directed at persons who are
> professionals and is not intended for retail customer use. Intended for
> recipient only. This message is subject to the terms at:
> www.barclays.com/emaildisclaimer.
>
> For important disclosures, please see:
> www.barclays.com/salesandtradingdisclaimer regarding market commentary
> from Barclays Sales and/or Trading, who are active market participants; and
> in respect of Barclays Research, including disclosures relating to specific
> issuers, please see http://publicresearch.barclays.com.
>
> _______________________________________________
>

RE: Exception when setting tokens for the cassandra nodes

Posted by mo...@barclays.com.
For starters:  If you are using the Murmur3 partitioner, which is the default in cassandra.yaml, then you need to calculate the tokens using:
python -c 'print [str(((2**64 / 2) * i) - 2**63) for i in range(2)]'

which gives the following values:
['-9223372036854775808', '0']

From: Rahul [mailto:rahulerai@gmail.com]
Sent: Monday, April 29, 2013 7:23 PM
To: user@cassandra.apache.org
Subject: Exception when setting tokens for the cassandra nodes

Hi,
I am testing out Cassandra 1.2 on two of my local servers. But I face problems with assigning  tokens to my nodes. When I use nodetool to set token, I end up getting an java Exception.
My test setup is as follows,
Node1: <local ip 1> (seed)
Node2: <local ip 2> (seed)

Since I have two nodes, i calculated the tokens as 0 and 2^127/2 = 85070591730234615865843651857942052864. I was able to set token 0 for my first node using nodetool move 0 , but when i am trying to set 85070591730234615865843651857942052864 for my second node,
it throws a main UndeclaredThrowableException. Full stack is attached bellow.

user@server~$ nodetool move 85070591730234615865843651857942052864

Exception in thread "main" java.lang.reflect.UndeclaredThrowableException
            at $Proxy0.getTokenToEndpointMap(Unknown Source)
            at org.apache.cassandra.tools.NodeProbe.getTokenToEndpointMap(NodeProbe.java:288)
            at org.apache.cassandra.tools.NodeCmd.printRing(NodeCmd.java:215)
            at org.apache.cassandra.tools.NodeCmd.main(NodeCmd.java:1051)
Caused by: javax.management.InstanceNotFoundException: org.apache.cassandra.db:type=StorageService
            at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1095)
            at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:643)
            at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:668)
            at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1463)
            at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:96)
            at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1327)
            at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1419)
            at javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:656)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:601)
            at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
            at sun.rmi.transport.Transport$1.run(Transport.java:177)
            at sun.rmi.transport.Transport$1.run(Transport.java:174)
            at java.security.AccessController.doPrivileged(Native Method)
            at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
            at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553)
            at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
            at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
            at java.lang.Thread.run(Thread.java:722)
            at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:273)
            at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:251)
            at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:160)
            at com.sun.jmx.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:901)
            at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:280)


Any suggestions towards solving this problem would be deeply appreciated.
thanks,
rahul

--

Rahul Erai
www.cse.iitk.ac.in/~rahule<http://www.cse.iitk.ac.in/~rahule>


_______________________________________________

This message is for information purposes only, it is not a recommendation, advice, offer or solicitation to buy or sell a product or service nor an official confirmation of any transaction. It is directed at persons who are professionals and is not intended for retail customer use. Intended for recipient only. This message is subject to the terms at: www.barclays.com/emaildisclaimer.

For important disclosures, please see: www.barclays.com/salesandtradingdisclaimer regarding market commentary from Barclays Sales and/or Trading, who are active market participants; and in respect of Barclays Research, including disclosures relating to specific issuers, please see http://publicresearch.barclays.com.

_______________________________________________