batch_mutate operations with CL=LOCAL_QUORUM throw TimeOutException when there
aren't sufficient live nodes
-----------------------------------------------------------------------------------------------------------
Key: CASSANDRA-2514
URL: https://issues.apache.org/jira/browse/CASSANDRA-2514
Project: Cassandra
Issue Type: Bug
Components: Core
Affects Versions: 0.7.4
Environment: 1. Cassandra 0.7.4 running on RHEL 5.5
2. 2 DC setup
3. RF = 4 (DC1 = 2, DC2 = 2)
4. CL = LOCAL_QUORUM
Reporter: Narendra Sharma
Fix For: 0.7.5
We have a 2 DC setup with RF = 4. There are 2 nodes in each DC. Following is
the keyspace definition:
<snip>
keyspaces:
- name: KeyspaceMetadata
replica_placement_strategy:
org.apache.cassandra.locator.NetworkTopologyStrategy
strategy_options:
DC1 : 2
DC2 : 2
replication_factor: 4
</snip>
I shutdown all except one node and waited for the live node to recognize that
other nodes are dead. Following is the nodetool ring output on the live node:
Address Status State Load Owns Token
169579575332184635438912517119426957796
10.17.221.19 Down Normal ? 29.20%
49117425183422571410176530597442406739
10.17.221.17 Up Normal 81.64 KB 4.41%
56615248844645582918169246064691229930
10.16.80.54 Down Normal ? 21.13%
92563519227261352488017033924602789201
10.17.221.18 Down Normal ? 45.27%
169579575332184635438912517119426957796
I expect UnavailableException when I send batch_mutate request to node that is
up. However, it returned TimeOutException:
TimedOutException()
at
org.apache.cassandra.thrift.Cassandra$batch_mutate_result.read(Cassandra.java:16493)
at
org.apache.cassandra.thrift.Cassandra$Client.recv_batch_mutate(Cassandra.java:916)
at
org.apache.cassandra.thrift.Cassandra$Client.batch_mutate(Cassandra.java:890)
Following is the cassandra-topology.properties
# Cassandra Node IP=Data Center:Rack
10.17.221.17=DC1:RAC1
10.17.221.19=DC1:RAC2
10.17.221.18=DC2:RAC1
10.16.80.54=DC2:RAC2
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira