[
https://issues.apache.org/jira/browse/CASSANDRA-3114?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13094904#comment-13094904
]
Brandon Williams commented on CASSANDRA-3114:
---------------------------------------------
I'm not sure there's a good solution here. We could make PFEPS inject the
local nodes dc/rack info into gossip similar to what I suggested in
CASSANDRA-1974, but you'd still have to name things with the ec2snitch
conventions for things to not break, and it would be very PFEPS-specific; other
snitches are out of the question.
Ultimately I'm inclined to say you need to choose your snitch like you choose
your partitioner: very carefully.
> After Choosing EC2Snitch you can't migrate off w/o a full cluster restart
> -------------------------------------------------------------------------
>
> Key: CASSANDRA-3114
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3114
> Project: Cassandra
> Issue Type: Bug
> Affects Versions: 0.7.8, 0.8.4
> Reporter: Benjamin Coverston
>
> Once you choose the Ec2Snitch the gossip messages will trigger this exception
> if you try to move (for example) to the property file snitch:
> ERROR [pool-2-thread-11] 2011-08-30 16:38:06,935 Cassandra.java (line 3041)
> Internal error processing get_slice
> java.lang.NullPointerException
> at org.apache.cassandra.locator.Ec2Snitch.getDatacenter(Ec2Snitch.java:84)
> at
> org.apache.cassandra.locator.DynamicEndpointSnitch.getDatacenter(DynamicEndpointSnitch.java:122)
>
> at
> org.apache.cassandra.service.DatacenterReadCallback.assureSufficientLiveNodes(DatacenterReadCallback.java:77)
>
> at org.apache.cassandra.service.StorageProxy.fetchRows(StorageProxy.java:516)
> at org.apache.cassandra.service.StorageProxy.read(StorageProxy.java:480)
> at
> org.apache.cassandra.thrift.CassandraServer.readColumnFamily(CassandraServer.java:109)
>
> at
> org.apache.cassandra.thrift.CassandraServer.getSlice(CassandraServer.java:263)
>
> at
> org.apache.cassandra.thrift.CassandraServer.multigetSliceInternal(CassandraServer.java:345)
>
> at
> org.apache.cassandra.thrift.CassandraServer.get_slice(CassandraServer.java:306)
>
> at
> org.apache.cassandra.thrift.Cassandra$Processor$get_slice.process(Cassandra.java:3033)
>
> at
> org.apache.cassandra.thrift.Cassandra$Processor.process(Cassandra.java:2889)
> at
> org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:187)
>
> 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:662)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira