You get consistency if R + W > N, where R is the number of records to read, W is the number of records to write, and N is the replication factor. A ConsistencyLevel of ONE means R or W is 1. A ConsistencyLevel of QUORUM means R or W is ceiling((N+1)/2). A ConsistencyLevel of ALL means R or W is N. So if you want to write with a ConsistencyLevel of ONE and then get the same data when you read, you need to read with ConsistencyLevel ALL.
Tim Freeman Email: [email protected]<mailto:[email protected]> Desk in Palo Alto: (650) 857-2581 Home: (408) 774-1298 Cell: (408) 348-7536 (No reception business hours Monday, Tuesday, and Thursday; call my desk instead.) From: Richard grossman [mailto:[email protected]] Sent: Monday, November 16, 2009 9:37 AM To: [email protected] Subject: Re: Is the remove api working ?? Thanks The QUORUM params do the job as expected. But If I've multiple servers and have inserted the data with ONE then what it's means I need to use only QUORUM instead ? Thanks On Mon, Nov 16, 2009 at 7:27 PM, Freeman, Tim <[email protected]<mailto:[email protected]>> wrote: You might want to try ConsistencyLevel.QUORUM instead of ConsistencyLevel.ONE if you're having issues with consistency. If you're running only one node, that shouldn't matter. Tim Freeman Email: [email protected]<mailto:[email protected]> Desk in Palo Alto: (650) 857-2581 Home: (408) 774-1298 Cell: (408) 348-7536 (No reception business hours Monday, Tuesday, and Thursday; call my desk instead.) From: Richard grossman [mailto:[email protected]<mailto:[email protected]>] Sent: Monday, November 16, 2009 9:19 AM To: [email protected]<mailto:[email protected]> Subject: Is the remove api working ?? Hi I try to delete a CF from List of keys that I get from get_key_range. Because I don't want to get all the key I just build bunch of 1000 key and delete them. All seems but the column are never removed If I run exactly the same code twice I get the key like never deleted. Could you help me ?? here is the code I use: List<String> keys = cassandraClient.get_key_range("Keyspace1", "channelShow", String.valueOf(start.getTimeInMillis()), stopKey, 1, ConsistencyLevel.ONE); if (keys != null && keys.size() == 1) { String startKey = keys.get(0); do { keys = cassandraClient.get_key_range("Keyspace1", "channelShow", startKey, stopKey, 1000, ConsistencyLevel.ONE); long time = System.currentTimeMillis(); for (String key : keys) { long timestamp = System.currentTimeMillis(); cassandraClient.remove("Keyspace1", key, columnPath, timestamp, ConsistencyLevel.ONE); } if (keys.size() < 1000) { keys = null; } else { startKey = keys.get(keys.size() - 1); } } while (keys != null && keys.size() > 0); } All
