cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Trahman (JIRA)" <>
Subject [jira] [Created] (CASSANDRA-2678) Incorrect NetworkTopolgyStrategy Options on upgrade from 0.7.5
Date Fri, 20 May 2011 20:57:47 GMT
Incorrect NetworkTopolgyStrategy Options on upgrade from 0.7.5

                 Key: CASSANDRA-2678
             Project: Cassandra
          Issue Type: Bug
          Components: Core
    Affects Versions: 0.8.0
         Environment: 10 node cluster, RHELL6.0
0.7.5, Single DC using NTS and RF=3 (DC1:3) -> upgraded to 0.8.0-rc1. 
            Reporter: Chris Trahman
            Priority: Minor

After an upgrade from 0.7.5 to 0.8.0-rc1 on a 10 node, single DC ring configured with NTS,
operations fail due to an inability to reach replicas in the 'second datacenter':

ERROR [pool-2-thread-8] 2011-05-17 12:15:23,145 (line 3294) Internal error
processing insert
java.lang.IllegalStateException: datacenter (replication_factor) has no more endpoints, (3)
replicas still needed
        at org.apache.cassandra.locator.NetworkTopologyStrategy.calculateNaturalEndpoints(
        at org.apache.cassandra.locator.AbstractReplicationStrategy.getNaturalEndpoints(
        at org.apache.cassandra.service.StorageService.getNaturalEndpoints(
        at org.apache.cassandra.service.StorageService.getNaturalEndpoints(
        at org.apache.cassandra.service.StorageProxy.getWriteEndpoints(
        at org.apache.cassandra.service.StorageProxy.performWrite(
        at org.apache.cassandra.service.StorageProxy.mutate(
        at org.apache.cassandra.thrift.CassandraServer.doInsert(
        at org.apache.cassandra.thrift.CassandraServer.internal_insert(
        at org.apache.cassandra.thrift.CassandraServer.insert(
        at org.apache.cassandra.thrift.Cassandra$Processor$insert.process(
        at org.apache.cassandra.thrift.Cassandra$Processor.process(
        at org.apache.cassandra.thrift.CustomTThreadPoolServer$
        at java.util.concurrent.ThreadPoolExecutor.runWorker(
        at java.util.concurrent.ThreadPoolExecutor$
DEBUG [ScheduledTasks:1] 2011-05-17 12:15:33,975 (line 334) Disseminating
load info ...

On checking the keyspace definition with cassandra-cli, it appears that 0.8.0-rc1 considered
the 'replication_factor:3' configuration in the older version as a DC name in part of the
DC replication strategy:

  Replication Strategy: org.apache.cassandra.locator.NetworkTopologyStrategy
    Options: [replication_factor:3, DC1:3]

I attempted to remove replication_factor as a DC using the 'update keyspace' command, but
it would persist.  I was able to remove the DC1:3 and use:

update keyspace MyKeyspace with strategy_options=[{replication_factor:3}];

then changed the topology properties file, renamed DC1 to replication_factor, and it worked
- so there is a workaround. 

This message is automatically generated by JIRA.
For more information on JIRA, see:

View raw message