0

First time Cassandra user and obligatory issue. Cassandra is running in a 2 node cluster with replication factor=2 and row update fails when 1 node is down.

Keyspace is defined as below.

CREATE KEYSPACE call_completion_dataspace WITH replication = {'class':'NetworkTopologyStrategy',  'DC1': '2'};

When the service on node 1 is stopped manually. Row updates stop working. See below

cqlsh>select * from requests where b_msisdn=1;
b_msisdn | request
       1 | {"321":{"a_party":"321","b_party":"1234","request_timestamp":"Aug 12, 2015 4:25:30 PM","request_type":"autocall","call_failed_scenario":"noasnswer","refId":"113365567757_68961c4"}}

Updating the row when node 1 is down

cqlsh>UPDATE call_completion_dataspace.callcompletionrequests SET request='"111"' WHERE b_msisdn=1; 
cqlsh>select * from call_completion_dataspace.callcompletionrequests where b_msisdn=1;             

Column should be updated but behold

b_msisdn | request
       1 | {"321":{"a_party":"321","b_party":"1234","request_timestamp":"Aug 12, 2015 4:25:30 PM","request_type":"autocall","call_failed_scenario":"noasnswer","refId":"113365567757_68961c4"}}

If nodetool repair is run on the 'up' node. The updates start to work as usual. It seems like the node is failing to register that the other node is down.

Arslan Mehboob
  • 952
  • 8
  • 19

1 Answers1

1

Ok the issue was, server's time was out of sync. After matching the time queries run fine.

Arslan Mehboob
  • 952
  • 8
  • 19