[
https://issues.apache.org/jira/browse/CASSANDRA-3118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13098656#comment-13098656
]
Brandon Williams commented on CASSANDRA-3118:
---------------------------------------------
bq. Why does the decommission node automatically join the cluster when it
restarts?
Because doing so is operator error. We don't delete data unless the operator
says to, so that is normal, it can rejoin if needed.
> nodetool can not decommission a node
> --------------------------------------
>
> Key: CASSANDRA-3118
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3118
> Project: Cassandra
> Issue Type: Bug
> Components: Tools
> Affects Versions: 0.8.4
> Environment: Cassandra0.84
> Reporter: deng
> Attachments: 3118-debug.txt
>
>
> when i use nodetool ring and get the result ,and than i want to decommission
> 100.86.17.90 node ,but i get the error:
> [root@ip bin]# ./nodetool -h10.86.12.225 ring
> Address DC Rack Status State Load Owns
> Token
>
> 154562542458917734942660802527609328132
> 100.86.17.90 datacenter1 rack1 Up Leaving 1.08 MB
> 11.21% 3493450320433654773610109291263389161
> 100.86.12.225 datacenter1 rack1 Up Normal 558.25 MB
> 14.25% 27742979166206700793970535921354744095
> 100.86.12.224 datacenter1 rack1 Up Normal 5.01 GB 6.58%
> 38945137636148605752956920077679425910
> ERROR:
> root@ip bin]# ./nodetool -h100.86.17.90 decommission
> Exception in thread "main" java.lang.UnsupportedOperationException
> at java.util.AbstractList.remove(AbstractList.java:144)
> at java.util.AbstractList$Itr.remove(AbstractList.java:360)
> at java.util.AbstractCollection.removeAll(AbstractCollection.java:337)
> at
> org.apache.cassandra.service.StorageService.calculatePendingRanges(StorageService.java:1041)
> at
> org.apache.cassandra.service.StorageService.calculatePendingRanges(StorageService.java:1006)
> at
> org.apache.cassandra.service.StorageService.handleStateLeaving(StorageService.java:877)
> at
> org.apache.cassandra.service.StorageService.onChange(StorageService.java:732)
> at
> org.apache.cassandra.gms.Gossiper.doNotifications(Gossiper.java:839)
> at
> org.apache.cassandra.gms.Gossiper.addLocalApplicationState(Gossiper.java:986)
> at
> org.apache.cassandra.service.StorageService.startLeaving(StorageService.java:1836)
> at
> org.apache.cassandra.service.StorageService.decommission(StorageService.java:1855)
> 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
> com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93)
> at
> com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27)
> at
> com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208)
> at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120)
> at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262)
> at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
> at
> com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
> at
> javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1426)
> at
> javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
> at
> javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1264)
> at
> javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1359)
> at
> javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788)
> 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 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$Worker.runTask(ThreadPoolExecutor.java:886)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira