Hi ,

I happened to figure out the problem.
I had set the replication_factor=1 in cassandra.yaml
Changing it to 2, made sure the entire keyspace is stored in each node. ( It 
has its half and the others half as well)

For others looking at an explanation on Replication Factor and Consistency Level
http://permalink.gmane.org/gmane.comp.db.hector.user/392

Thanks
Prasanna


On Mar 31, 2011, at 6:49 PM, Prasanna Rajaperumal wrote:

> Hi All,
> 
> I am trying out a very simple scenario and I dont seem to get it working. It 
> would be great if I am pointed to some things here.
> 
> I have set up a 2 node cluster, cassandra.yaml being the default and same for 
> each other than the seed: being each other and I have set the Thrift RPC 
> address and listen_address to publicly available hostnames. Replication 
> factory is set to 1
> 
> I have a client (using Hector) to do some basic operations like write, read, 
> delete.
> 
>         CassandraHostConfigurator config = new 
> CassandraHostConfigurator("arti-dev-logger-2:9160,arti-dev-logger-1:9160");
>         config.setAutoDiscoverHosts(true);
>         Cluster cluster = HFactory.createCluster("dev_cluster", config);
>         Keyspace artiKeyspace = 
> HFactory.createKeyspace(this.getArti_persistence_cassandra_keyspace(), 
> cluster, new ConsistencyLevelPolicy(){
>                       @Override
>                       public HConsistencyLevel get(OperationType op) {
>                               return HConsistencyLevel.ONE;
>                       }
>                       @Override
>                       public HConsistencyLevel get(OperationType op, String 
> cfName) {
>                               return HConsistencyLevel.ONE;
>                       }
>         });
> 
> Nodetool show the ring fine.
> 
> [root@arti-dev-logger-1 bin]# ./nodetool -host arti-dev-logger-1 ring
> Address         Status State   Load            Owns    Token                  
>                      
>                                                        
> 140881507882391765636814029248607183802     
> 171.71.189.47   Up     Normal  54.3 KB         60.79%  
> 74161420796139335783812688622390550898      
> 171.71.189.48   Up     Normal  66.96 KB        39.21%  
> 140881507882391765636814029248607183802
> 
> [root@arti-dev-logger-1 bin]# ./nodetool -host arti-dev-logger-2 ring
> Address         Status State   Load            Owns    Token                  
>                      
>                                                        
> 140881507882391765636814029248607183802     
> 171.71.189.47   Up     Normal  54.3 KB         60.79%  
> 74161420796139335783812688622390550898      
> 171.71.189.48   Up     Normal  66.96 KB        39.21%  
> 140881507882391765636814029248607183802 
> 
> I observe, If I have arti-dev-logger-1 down and run my test against against 
> the cluster, my test is successful.
> If I bring up the arti-dev-logger-1 and take down arti-dev-logger-2, My test 
> complains 
> 
> com.cisco.step.arti.persistence.CassandraException: : May not be enough 
> replicas present to handle consistency level.
> 
> I would imagine I am doing something very fundamental here, I have not 
> attached any test case hoping that any experienced person looking at might be 
> able to figure out what is going on right away.
> 
> Thanks
> Prasanna
> 

Prasanna Rajaperumal
praja...@cisco.com



Reply via email to