ERROR Message Example
java.lang.UnsupportedOperationException: This node has more than one token and cannot be moved thusly.
TYPICALLY PRODUCES A STACK TRACE SIMILAR TO THE FOLLOWING (STACK TRACE WILL DIFFER BASED ON VERSION):
at org.apache.cassandra.service.StorageService.move(StorageService.java:4203) at org.apache.cassandra.service.StorageService.move(StorageService.java:4178) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71) at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112)
What does this ERROR message mean?
This error indicates the node is configured with more than one tokens in initial_token or using vnode with num_tokens > 1 and token movement operation is not allowed.
Why does this ERROR occur?
The error indicates token movement operations(like nodetool move) are against the node configured with more than one tokens and Cassandra does not allow such operation. The token movement operation is only applicable to a single token node.
How do you fix this ERROR?
Users cannot do the nodetool move operation to change the token range for the nodes configured with more than one tokens. If users want to use multiple tokens, it is suggested to configure vnode, please refer to the vnode configuration document to make sure to configure the vnode properly.