You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jaakko Laine (JIRA)" <ji...@apache.org> on 2009/11/12 14:10:39 UTC
[jira] Created: (CASSANDRA-543) a decommissioned node (ip) joining
ring again
a decommissioned node (ip) joining ring again
---------------------------------------------
Key: CASSANDRA-543
URL: https://issues.apache.org/jira/browse/CASSANDRA-543
Project: Cassandra
Issue Type: Bug
Components: Core
Affects Versions: 0.5
Reporter: Jaakko Laine
Fix For: 0.5
Don't know the exact cause yet (will continue to test tomorrow), but seems there's something wrong with maintaining tokenMetadata under certain circumnstances:
(1) 8-node cluster all nodes have some data
(2) decommission one of them
(3) stop the decommissioned node, clear its data, restart node
When the 3rd step is repeated, I usually get the following exception on the second or third restart on other nodes in the cluster
java.lang.IllegalArgumentException: value already present: /192.168.0.108
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:116)
at com.google.common.collect.StandardBiMap.putInBothMaps(StandardBiMap.java:106)
at com.google.common.collect.StandardBiMap.put(StandardBiMap.java:91)
at com.google.common.collect.HashBiMap.put(HashBiMap.java:82)
at org.apache.cassandra.locator.TokenMetadata.update(TokenMetadata.java:91)
at org.apache.cassandra.service.StorageService.updateForeignToken(StorageService.java:188)
at org.apache.cassandra.service.StorageService.onChange(StorageService.java:444)
at org.apache.cassandra.service.StorageService.onJoin(StorageService.java:536)
at org.apache.cassandra.gms.Gossiper.handleNewJoin(Gossiper.java:558)
at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:591)
at org.apache.cassandra.gms.GossipDigestAckVerbHandler.doVerb(Gossiper.java:972)
at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:38)
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)
The exact sequence leading to this exception might not have anything to do with decommission and/or restarts, but no time to test more today.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (CASSANDRA-543) a decommissioned node (ip) joining
ring again
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-543?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis resolved CASSANDRA-543.
--------------------------------------
Resolution: Duplicate
yeah, this is the same as the bug in CASSANDRA-541
> a decommissioned node (ip) joining ring again
> ---------------------------------------------
>
> Key: CASSANDRA-543
> URL: https://issues.apache.org/jira/browse/CASSANDRA-543
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.5
> Reporter: Jaakko Laine
> Fix For: 0.5
>
>
> Don't know the exact cause yet (will continue to test tomorrow), but seems there's something wrong with maintaining tokenMetadata under certain circumnstances:
> (1) 8-node cluster all nodes have some data
> (2) decommission one of them
> (3) stop the decommissioned node, clear its data, restart node
> When the 3rd step is repeated, I usually get the following exception on the second or third restart on other nodes in the cluster
> java.lang.IllegalArgumentException: value already present: /192.168.0.108
> at com.google.common.base.Preconditions.checkArgument(Preconditions.java:116)
> at com.google.common.collect.StandardBiMap.putInBothMaps(StandardBiMap.java:106)
> at com.google.common.collect.StandardBiMap.put(StandardBiMap.java:91)
> at com.google.common.collect.HashBiMap.put(HashBiMap.java:82)
> at org.apache.cassandra.locator.TokenMetadata.update(TokenMetadata.java:91)
> at org.apache.cassandra.service.StorageService.updateForeignToken(StorageService.java:188)
> at org.apache.cassandra.service.StorageService.onChange(StorageService.java:444)
> at org.apache.cassandra.service.StorageService.onJoin(StorageService.java:536)
> at org.apache.cassandra.gms.Gossiper.handleNewJoin(Gossiper.java:558)
> at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:591)
> at org.apache.cassandra.gms.GossipDigestAckVerbHandler.doVerb(Gossiper.java:972)
> at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:38)
> 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)
> The exact sequence leading to this exception might not have anything to do with decommission and/or restarts, but no time to test more today.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.