[ https://issues.apache.org/jira/browse/CASSANDRA-3272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13116918#comment-13116918 ]
Jonathan Ellis commented on CASSANDRA-3272: ------------------------------------------- (I ask because I've never seen it be the "right" CL yet.) > READ Operation with CL=EACH_QUORUM succeed when a DC is down (RF=3) > ------------------------------------------------------------------- > > Key: CASSANDRA-3272 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3272 > Project: Cassandra > Issue Type: Bug > Reporter: Jackson Chung > > "READ EACH_QUORUM: Returns the record with the most recent timestamp once > a quorum of replicas in each data center of the cluster has responded." > In other words, if a DC is down and the QUORUM could not be reached on that > DC, read should fail. > test case: > - Cassandra version 0.8.6: > INFO [main] 2011-09-28 22:26:24,297 StorageService.java (line 371) Cassandra > version: 0.8.6 > - 6-node cluster with 2 DC and 3 node each. RF=3 in each DC: > [default@Keyspace3] describe keyspace; > Keyspace: Keyspace3: > Replication Strategy: org.apache.cassandra.locator.NetworkTopologyStrategy > Durable Writes: true > Options: [DC2:3, DC1:3] > Column Families: > ColumnFamily: test > Key Validation Class: org.apache.cassandra.db.marshal.BytesType > Default column value validator: org.apache.cassandra.db.marshal.BytesType > Columns sorted by: org.apache.cassandra.db.marshal.BytesType > Row cache size / save period in seconds: 0.0/0 > Key cache size / save period in seconds: 200000.0/14400 > Memtable thresholds: 1.0875/1440/232 (millions of ops/minutes/MB) > GC grace seconds: 864000 > Compaction min/max thresholds: 4/32 > Read repair chance: 1.0 > Replicate on write: true > Built indexes: [] > all nodes are up, insert a row: > $ nodetool -h localhost ring > Address DC Rack Status State Load Owns Token > 141784319550391026443072753096570088106 > 10.34.79.179 DC1 RAC1 Up Normal 11.13 KB 16.67% 0 > 10.34.70.163 DC2 RAC1 Up Normal 11.14 KB 16.67% > 28356863910078205288614550619314017621 > 10.35.81.147 DC1 RAC1 Up Normal 11.14 KB 16.67% > 56713727820156410577229101238628035242 > 10.84.233.170 DC2 RAC1 Up Normal 11.14 KB 16.67% > 85070591730234615865843651857942052864 > 10.195.201.236 DC1 RAC1 Up Normal 11.14 KB 16.67% > 113427455640312821154458202477256070485 > 10.118.147.73 DC2 RAC1 Up Normal 11.14 KB 16.67% > 141784319550391026443072753096570088106 > - insert a value > [default@Keyspace3] set > test[utf8('test-key-1')][utf8('test-col')]=utf8('test-value'); > Value inserted. > sanity check (cli connects to a node in DC1) : > [default@Keyspace3] consistencylevel as EACH_QUORUM; > > Consistency level is set to 'EACH_QUORUM'. > [default@Keyspace3] get test[utf8('test-key-1')]; > => (column=746573742d636f6c, value=test-value, timestamp=1317249361722000) > Returned 1 results > shut down DC2: > $ nodetool -h localhost ring > Address DC Rack Status State Load Owns > Token > > 141784319550391026443072753096570088106 > 10.34.79.179 DC1 RAC1 Up Normal 51.86 KB 16.67% > 0 > 10.34.70.163 DC2 RAC1 Down Normal 51.88 KB 16.67% > 28356863910078205288614550619314017621 > 10.35.81.147 DC1 RAC1 Up Normal 47.5 KB 16.67% > 56713727820156410577229101238628035242 > 10.84.233.170 DC2 RAC1 Down Normal 51.88 KB 16.67% > 85070591730234615865843651857942052864 > 10.195.201.236 DC1 RAC1 Up Normal 47.5 KB 16.67% > 113427455640312821154458202477256070485 > 10.118.147.73 DC2 RAC1 Down Normal 51.88 KB 16.67% > 141784319550391026443072753096570088106 > [default@Keyspace3] get test[utf8('test-key-1')]; > => (column=746573742d636f6c, value=746573742d76616c7565, > timestamp=1317249361722000) > Returned 1 results. > tried with pycassaShell: > >>> col_fam.get('test-key-1',read_consistency_level=pycassa.ConsistencyLevel.EACH_QUORUM) > OrderedDict([('test-col', 'test-value')]) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira