I get the same issue on Cassandra 1.1: create keyspace ks with strategy_class = 'NetworkTopologyStrategy' AND strategy_options ={DC1:1};
then for example [default@ks] create column family rr WITH key_validation_class=UTF8Type and comparator = UTF8Type and column_metadata = [{column_name: boo, validation_class: UTF8Type}]; 5c6d0b86-86f2-3444-8335-fe4bdaa4745d Waiting for schema agreement... ... schemas agree across the cluster [default@ks] set rr['1']['boo'] = '1'; null UnavailableException() at org.apache.cassandra.thrift.Cassandra$insert_result.read(Cassandra.java:15898) at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78) at org.apache.cassandra.thrift.Cassandra$Client.recv_insert(Cassandra.java:788) at org.apache.cassandra.thrift.Cassandra$Client.insert(Cassandra.java:772) at org.apache.cassandra.cli.CliClient.executeSet(CliClient.java:896) at org.apache.cassandra.cli.CliClient.executeCLIStatement(CliClient.java:213) at org.apache.cassandra.cli.CliMain.processStatementInteractive(CliMain.java:219) at org.apache.cassandra.cli.CliMain.main(CliMain.java:346) 2012/5/26 Cyril Auburtin <cyril.aubur...@gmail.com> > thx, but still not > > I did: > > update keyspace ks with strategy_options = [{DC1:1}] and > placement_strategy = 'org.apache.cassandra.locator.NetworkTopologyStrategy'; > > then in cassandra-cli : > > [default@ks] list Position; > Using default limit of 100 > Internal error processing get_range_slices > > and in cassandra console: > > INFO 11:10:52,680 Keyspace updated. Please perform any manual operations. > ERROR 11:13:37,565 Internal error processing get_range_slices > java.lang.IllegalStateException: datacenter (DC1) has no more endpoints, > (1) replicas still needed > at > org.apache.cassandra.locator.NetworkTopologyStrategy.calculateNaturalEndpoints(NetworkTopologyStrategy.java:118) > at > org.apache.cassandra.locator.AbstractReplicationStrategy.getNaturalEndpoints(AbstractReplicationStrategy.java:101) > at > org.apache.cassandra.service.StorageService.getLiveNaturalEndpoints(StorageService.java:1538) > > How do I have to set the cassndra-topology.properties for a single node in > ths DC? > I will try to do the same thing with C1.1, it could work > > 2012/5/26 Edward Capriolo <edlinuxg...@gmail.com> > >> replication_factor = 1 and strategy_options = [{DC1:0}] >> >> You should not be setting both of these. >> >> All you should need is: >> strategy_options = [{DC1:1}] >> >> On Fri, May 25, 2012 at 1:47 PM, Cyril Auburtin >> <cyril.aubur...@gmail.com> wrote: >> > I was using a single node, on cassandra 0.7.10 >> > >> > with Network strategy = SimpleStrategy, and replication factor = 1, >> > everything is fine, I was using a consistency level of ONE, for >> > reading/writing >> > >> > I have updated the keyspace to >> > >> > update keyspace Mymed with replication_factor = 1 and strategy_options = >> > [{DC1:0}] and placement_strategy = >> > 'org.apache.cassandra.locator.NetworkTopologyStrategy'; >> > >> > with conf/cassandra-topology.properties having just this for the moment: >> > >> > default=DC1:r1 >> > >> > the keyspace could update, I could use ks; also, but can't read anything >> > >> > even from Thrift using ConsistencyLevel.ONE; it will complain that this >> > strategy require Quorum >> > >> > I tried with ConsistencyLevel.LOCAL_QUORUM; but get an exception like >> : >> > >> > org.apache.thrift.TApplicationException: Internal error processing >> get_slice >> > >> > and in cassandra console: >> > >> > DEBUG 19:45:02,013 Command/ConsistencyLevel is >> > SliceFromReadCommand(table='Mymed', >> > key='637972696c2e617562757274696e40676d61696c2e636f6d', >> > column_parent='QueryPath(columnFamilyName='Authentication', >> > superColumnName='null', columnName='null')', start='', finish='', >> > reversed=false, count=100)/LOCAL_QUORUM >> > ERROR 19:45:02,014 Internal error processing get_slice >> > java.lang.NullPointerException >> > at >> > >> org.apache.cassandra.locator.NetworkTopologyStrategy.getReplicationFactor(NetworkTopologyStrategy.java:139) >> > at >> > >> org.apache.cassandra.service.DatacenterReadCallback.determineBlockFor(DatacenterReadCallback.java:83) >> > at >> org.apache.cassandra.service.ReadCallback.<init>(ReadCallback.java:77) >> > at >> > >> org.apache.cassandra.service.DatacenterReadCallback.<init>(DatacenterReadCallback.java:48) >> > at >> > >> org.apache.cassandra.service.StorageProxy.getReadCallback(StorageProxy.java:461) >> > at >> > >> org.apache.cassandra.service.StorageProxy.fetchRows(StorageProxy.java:326) >> > at org.apache.cassandra.service.StorageProxy.read(StorageProxy.java:291) >> > >> > So probably I guess Network topology strategy can't work with just one >> node? >> > >> > thx for any feedback >> > >