Jason, 
        Are you able document the steps to reproduce this on a clean install ? 

        Is so do you have time to create an issue on 
https://issues.apache.org/jira/browse/CASSANDRA

Thanks


-----------------
Aaron Morton
Freelance Developer
@aaronmorton
http://www.thelastpickle.com

On 2/07/2012, at 1:49 AM, Jason Tang wrote:

> For the create/update/deleteColumn/deleteRow test case, for Quorum 
> consistency level, 6 nodes, replicate factor 3, for one thread around 1/100 
> round, I can have this reproduced.
> 
> And if I have 20 client threads to run the test client, the ratio is bigger.
> 
> And the test group will be executed by one thread, and the client time stamp 
> is unique and sequenced, guaranteed by Hector.
> 
> And client only access the data from local Cassandra.
> 
> And the query only use the row key which is unique. The column name is not 
> unique, in my case, eg, "status".
> 
> And the row have around 7 columns, which are all not big, eg "status:true", 
> "userName:Jason" ...
> 
> BRs
> //Ares
> 
> 2012/7/1 Jonathan Ellis <jbel...@gmail.com>
> Is this Cassandra 1.1.1?
> 
> How often do you observe this?  How many columns are in the row?  Can
> you reproduce when querying by column name, or only when "slicing" the
> row?
> 
> On Thu, Jun 28, 2012 at 7:24 AM, Jason Tang <ares.t...@gmail.com> wrote:
> > Hi
> >
> >    First I delete one column, then I delete one row. Then try to read all
> > columns from the same row, all operations from same client app.
> >
> >    The consistency level is read/write quorum.
> >
> >    Check the Cassandra log, the local node don't perform the delete
> > operation but send the mutation to other nodes (192.168.0.6, 192.168.0.1)
> >
> >    After delete, I try to read all columns from the row, I found the node
> > found "Digest mismatch" due to Quorum consistency configuration, but the
> > result is not correct.
> >
> >    From the log, I can see the delete mutation already accepted
> > by 192.168.0.6, 192.168.0.1,  but when 192.168.0.5 read response from 0.6
> > and 0.1, and then it merge the data, but finally 0.5 shows the result which
> > is the dirty data.
> >
> >    Following logs shows the change of column "737461747573" , 192.168.0.5
> > try to read from 0.1 and 0.6, it should be deleted, but finally it shows it
> > has the data.
> >
> > log:
> > 192.168.0.5
> > DEBUG [Thrift:17] 2012-06-28 15:59:42,198 StorageProxy.java (line 653)
> > Command/ConsistencyLevel is SliceByNamesReadCommand(table='drc',
> > key=7878323239537570657254616e67307878,
> > columnParent='QueryPath(columnFamilyName='queue', superColumnName='null',
> > columnName='null')',
> > columns=[6578656375746554696d65,6669726554696d65,67726f75705f6964,696e517565756554696d65,6c6f67526f6f744964,6d6f54797065,706172746974696f6e,7265636569766554696d65,72657175657374,7265747279,7365727669636550726f7669646572,737461747573,757365724e616d65,])/QUORUM
> > DEBUG [Thrift:17] 2012-06-28 15:59:42,198 ReadCallback.java (line 79)
> > Blockfor is 2; setting up requests to /192.168.0.6,/192.168.0.1
> > DEBUG [Thrift:17] 2012-06-28 15:59:42,198 StorageProxy.java (line 674)
> > reading data from /192.168.0.6
> > DEBUG [Thrift:17] 2012-06-28 15:59:42,198 StorageProxy.java (line 694)
> > reading digest from /192.168.0.1
> > DEBUG [RequestResponseStage:2] 2012-06-28 15:59:42,199
> > ResponseVerbHandler.java (line 44) Processing response on a callback from
> > 6556@/192.168.0.6
> > DEBUG [RequestResponseStage:2] 2012-06-28 15:59:42,199
> > AbstractRowResolver.java (line 66) Preprocessed data response
> > DEBUG [RequestResponseStage:6] 2012-06-28 15:59:42,199
> > ResponseVerbHandler.java (line 44) Processing response on a callback from
> > 6557@/192.168.0.1
> > DEBUG [RequestResponseStage:6] 2012-06-28 15:59:42,199
> > AbstractRowResolver.java (line 66) Preprocessed digest response
> > DEBUG [Thrift:17] 2012-06-28 15:59:42,199 RowDigestResolver.java (line 65)
> > resolving 2 responses
> > DEBUG [Thrift:17] 2012-06-28 15:59:42,200 StorageProxy.java (line 733)
> > Digest mismatch: org.apache.cassandra.service.DigestMismatchException:
> > Mismatch for key DecoratedKey(100572974179274741747356988451225858264,
> > 7878323239537570657254616e67307878) (b725ab25696111be49aaa7c4b7afa52d vs
> > d41d8cd98f00b204e9800998ecf8427e)
> > DEBUG [RequestResponseStage:9] 2012-06-28 15:59:42,201
> > ResponseVerbHandler.java (line 44) Processing response on a callback from
> > 6558@/192.168.0.6
> > DEBUG [RequestResponseStage:7] 2012-06-28 15:59:42,201
> > ResponseVerbHandler.java (line 44) Processing response on a callback from
> > 6559@/192.168.0.1
> > DEBUG [RequestResponseStage:9] 2012-06-28 15:59:42,201
> > AbstractRowResolver.java (line 66) Preprocessed data response
> > DEBUG [RequestResponseStage:7] 2012-06-28 15:59:42,201
> > AbstractRowResolver.java (line 66) Preprocessed data response
> > DEBUG [Thrift:17] 2012-06-28 15:59:42,201 RowRepairResolver.java (line 63)
> > resolving 2 responses
> > DEBUG [Thrift:17] 2012-06-28 15:59:42,201 SliceQueryFilter.java (line 123)
> > collecting 0 of 2147483647: 6669726554696d65:false:13@1340870382109004
> > DEBUG [Thrift:17] 2012-06-28 15:59:42,201 SliceQueryFilter.java (line 123)
> > collecting 1 of 2147483647: 67726f75705f6964:false:10@1340870382109014
> > DEBUG [Thrift:17] 2012-06-28 15:59:42,201 SliceQueryFilter.java (line 123)
> > collecting 2 of 2147483647: 696e517565756554696d65:false:13@1340870382109005
> > DEBUG [Thrift:17] 2012-06-28 15:59:42,201 SliceQueryFilter.java (line 123)
> > collecting 3 of 2147483647: 6c6f67526f6f744964:false:7@1340870382109015
> > DEBUG [Thrift:17] 2012-06-28 15:59:42,202 SliceQueryFilter.java (line 123)
> > collecting 4 of 2147483647: 6d6f54797065:false:6@1340870382109009
> > DEBUG [Thrift:17] 2012-06-28 15:59:42,202 SliceQueryFilter.java (line 123)
> > collecting 5 of 2147483647: 706172746974696f6e:false:2@1340870382109001
> > DEBUG [Thrift:17] 2012-06-28 15:59:42,202 SliceQueryFilter.java (line 123)
> > collecting 6 of 2147483647: 7265636569766554696d65:false:13@1340870382109003
> > DEBUG [Thrift:17] 2012-06-28 15:59:42,202 SliceQueryFilter.java (line 123)
> > collecting 7 of 2147483647: 72657175657374:false:300@1340870382109013
> > DEBUG [RequestResponseStage:5] 2012-06-28 15:59:42,202
> > ResponseVerbHandler.java (line 44) Processing response on a callback from
> > 6552@/192.168.0.1
> > DEBUG [Thrift:17] 2012-06-28 15:59:42,202 SliceQueryFilter.java (line 123)
> > collecting 8 of 2147483647: 7265747279:false:1@1340870382109006
> > DEBUG [Thrift:17] 2012-06-28 15:59:42,202 SliceQueryFilter.java (line 123)
> > collecting 9 of 2147483647:
> > 7365727669636550726f7669646572:false:4@1340870382109007
> > DEBUG [Thrift:17] 2012-06-28 15:59:42,203 SliceQueryFilter.java (line 123)
> > collecting 10 of 2147483647: 737461747573:false:8@1340870382152000
> > DEBUG [Thrift:17] 2012-06-28 15:59:42,203 SliceQueryFilter.java (line 123)
> > collecting 11 of 2147483647: 757365724e616d65:false:4@1340870382109000
> > DEBUG [Thrift:17] 2012-06-28 15:59:42,203 RowRepairResolver.java (line 89)
> > versions merged
> > DEBUG [Thrift:17] 2012-06-28 15:59:42,203 RowRepairResolver.java (line 102)
> > resolve: 2 ms.
> > DEBUG [Thrift:18] 2012-06-28 15:59:42,204 ClientState.java (line 123) logged
> > in: #<User casadm groups=[]>
> > DEBUG [Thrift:18] 2012-06-28 15:59:42,204 CassandraServer.java (line 305)
> > get_slice
> >
> > 192.168.0.1:
> > DEBUG [MutationStage:21] 2012-06-28 15:59:42,177 RowMutationVerbHandler.java
> > (line 44) Applying RowMutation(keyspace='drc',
> > key='7878323239537570657254616e67307878', modifications=[ColumnFamily(queue
> > [737461747573:true:4@1340870382175000,])])
> > DEBUG [MutationStage:21] 2012-06-28 15:59:42,178 Table.java (line 391)
> > applying mutation of row 7878323239537570657254616e67307878
> > DEBUG [MutationStage:23] 2012-06-28 15:59:42,187 RowMutationVerbHandler.java
> > (line 44) Applying RowMutation(keyspace='drc',
> > key='7878323239537570657254616e67307878', modifications=[ColumnFamily(queue
> > -deleted at 1340870382185000- [])])
> > DEBUG [MutationStage:23] 2012-06-28 15:59:42,187 Table.java (line 391)
> > applying mutation of row 7878323239537570657254616e67307878
> > DEBUG [MutationStage:20] 2012-06-28 15:59:42,189 Table.java (line 425)
> > mutating indexed column 737461747573 value 4445515545554544
> > DEBUG [MutationStage:20] 2012-06-28 15:59:42,189 CollationController.java
> > (line 77) collectTimeOrderedData
> > DEBUG [MutationStage:20] 2012-06-28 15:59:42,190 Table.java (line 449)
> > Pre-mutation index row is ColumnFamily(queue
> > [737461747573:false:8@1340870382152000,])
> > DEBUG [MutationStage:20] 2012-06-28 15:59:42,190 Table.java (line 500)
> > skipping index update for obsolete mutation of 737461747573
> > DEBUG [ReadStage:5] 2012-06-28 15:59:42,199 CollationController.java (line
> > 77) collectTimeOrderedData
> > DEBUG [ReadStage:5] 2012-06-28 15:59:42,199 ReadVerbHandler.java (line 73)
> > digest is b725ab25696111be49aaa7c4b7afa52d
> > DEBUG [ReadStage:5] 2012-06-28 15:59:42,199 ReadVerbHandler.java (line 58)
> > Read key 7878323239537570657254616e67307878; sending response to
> > 6557@/192.168.0.3
> > DEBUG [ReadStage:6] 2012-06-28 15:59:42,200 CollationController.java (line
> > 77) collectTimeOrderedData
> > DEBUG [ReadStage:6] 2012-06-28 15:59:42,201 ReadVerbHandler.java (line 58)
> > Read key 7878323239537570657254616e67307878; sending response to
> > 6559@/192.168.0.3
> > DEBUG [MutationStage:23] 2012-06-28 15:59:42,201 Table.java (line 425)
> > mutating indexed column 6669726554696d65 value null
> > DEBUG [MutationStage:21] 2012-06-28 15:59:42,201 Table.java (line 425)
> > mutating indexed column 737461747573 value 4fec0eee
> > DEBUG [MutationStage:23] 2012-06-28 15:59:42,201 Table.java (line 425)
> > mutating indexed column 6669726554696d65536c696365 value null
> > DEBUG [MutationStage:21] 2012-06-28 15:59:42,201 CollationController.java
> > (line 77) collectTimeOrderedData
> > DEBUG [MutationStage:23] 2012-06-28 15:59:42,202 Table.java (line 425)
> > mutating indexed column 696e517565756554696d65 value null
> > DEBUG [MutationStage:21] 2012-06-28 15:59:42,202 Table.java (line 449)
> > Pre-mutation index row is ColumnFamily(queue
> > [737461747573:false:8@1340870382152000,])
> > DEBUG [MutationStage:23] 2012-06-28 15:59:42,202 Table.java (line 425)
> > mutating indexed column 696e517565756554696d65536c696365 value null
> > DEBUG [MutationStage:23] 2012-06-28 15:59:42,202 Table.java (line 425)
> > mutating indexed column 6d6f54797065 value null
> > DEBUG [MutationStage:21] 2012-06-28 15:59:42,202 KeysIndex.java (line 103)
> > removed index entry for cleaned-up value DecoratedKey(DEQUEUED,
> > 4445515545554544):ColumnFamily(queue.idxStatus
> > [7878323239537570657254616e67307878:true:4@1340870382152000,])
> > DEBUG [MutationStage:23] 2012-06-28 15:59:42,202 Table.java (line 425)
> > mutating indexed column 706172746974696f6e value null
> > DEBUG [MutationStage:21] 2012-06-28 15:59:42,202 RowMutationVerbHandler.java
> > (line 56) RowMutation(keyspace='drc',
> > key='7878323239537570657254616e67307878', modifications=[ColumnFamily(queue
> > [737461747573:true:4@1340870382175000,])]) applied.  Sending response to
> > 6552@/192.168.0.3
> >
> > 192.168.0.6:
> > DEBUG [MutationStage:6] 2012-06-28 15:59:42,177 RowMutationVerbHandler.java
> > (line 44) Applying RowMutation(keyspace='drc',
> > key='7878323239537570657254616e67307878', modifications=[ColumnFamily(queue
> > [737461747573:true:4@1340870382175000,])])
> > DEBUG [MutationStage:6] 2012-06-28 15:59:42,177 Table.java (line 391)
> > applying mutation of row 7878323239537570657254616e67307878
> > DEBUG [MutationStage:6] 2012-06-28 15:59:42,184 Table.java (line 425)
> > mutating indexed column 737461747573 value 4fec0eee
> > DEBUG [MutationStage:6] 2012-06-28 15:59:42,184 CollationController.java
> > (line 77) collectTimeOrderedData
> > DEBUG [MutationStage:6] 2012-06-28 15:59:42,184 Table.java (line 449)
> > Pre-mutation index row is ColumnFamily(queue
> > [737461747573:false:8@1340870382152000,])
> > DEBUG [MutationStage:6] 2012-06-28 15:59:42,184 KeysIndex.java (line 103)
> > removed index entry for cleaned-up value DecoratedKey(DEQUEUED,
> > 4445515545554544):ColumnFamily(queue.idxStatus
> > [7878323239537570657254616e67307878:true:4@1340870382152000,])
> > DEBUG [MutationStage:6] 2012-06-28 15:59:42,184 RowMutationVerbHandler.java
> > (line 56) RowMutation(keyspace='drc',
> > key='7878323239537570657254616e67307878', modifications=[ColumnFamily(queue
> > [737461747573:true:4@1340870382175000,])]) applied.  Sending response to
> > 6550@/192.168.0.3
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,187 RowMutationVerbHandler.java
> > (line 44) Applying RowMutation(keyspace='drc',
> > key='7878323239537570657254616e67307878', modifications=[ColumnFamily(queue
> > -deleted at 1340870382185000- [])])
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,187 Table.java (line 391)
> > applying mutation of row 7878323239537570657254616e67307878
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,190 Table.java (line 425)
> > mutating indexed column 6669726554696d65 value null
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,190 Table.java (line 425)
> > mutating indexed column 6669726554696d65536c696365 value null
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,190 Table.java (line 425)
> > mutating indexed column 696e517565756554696d65 value null
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,190 Table.java (line 425)
> > mutating indexed column 696e517565756554696d65536c696365 value null
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,190 Table.java (line 425)
> > mutating indexed column 6d6f54797065 value null
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,190 Table.java (line 425)
> > mutating indexed column 706172746974696f6e value null
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,190 Table.java (line 425)
> > mutating indexed column 7265636569766554696d65 value null
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,190 Table.java (line 425)
> > mutating indexed column 7265636569766554696d65536c696365 value null
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,191 Table.java (line 425)
> > mutating indexed column 7365727669636550726f7669646572 value null
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,191 Table.java (line 425)
> > mutating indexed column 737461747573 value null
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,191 CollationController.java
> > (line 77) collectTimeOrderedData
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,191 Table.java (line 449)
> > Pre-mutation index row is ColumnFamily(queue
> > [6669726554696d65:false:13@1340870382109004,6669726554696d65536c696365:false:13@1340870382109011,696e517565756554696d65:false:13@1340870382109005,696e517565756554696d65536c696365:false:13@1340870382109012,6d6f54797065:false:6@1340870382109009,706172746974696f6e:false:2@1340870382109001,7265636569766554696d65:false:13@1340870382109003,7265636569766554696d65536c696365:false:13@1340870382109010,7365727669636550726f7669646572:false:4@1340870382109007,737461747573:true:4@1340870382175000,])
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,191 Table.java (line 500)
> > skipping index update for obsolete mutation of 737461747573
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,191 KeysIndex.java (line 103)
> > removed index entry for cleaned-up value
> > DecoratedKey(3898026790553046681950927403065,
> > 31333430383730333531373839):ColumnFamily(queue.idxFireTime
> > [7878323239537570657254616e67307878:true:4@1340870382109004,])
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,192 KeysIndex.java (line 103)
> > removed index entry for cleaned-up value
> > DecoratedKey(3898026790552830793920833138736,
> > 31333430383431363030303030):ColumnFamily(queue.idxFireTimeRange
> > [7878323239537570657254616e67307878:true:4@1340870382109011,])
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,192 KeysIndex.java (line 103)
> > removed index entry for cleaned-up value
> > DecoratedKey(3898026790553046681950927403065,
> > 31333430383730333531373839):ColumnFamily(queue.idxInQueueTime
> > [7878323239537570657254616e67307878:true:4@1340870382109005,])
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,192 KeysIndex.java (line 103)
> > removed index entry for cleaned-up value
> > DecoratedKey(3898026790552830793920833138736,
> > 31333430383431363030303030):ColumnFamily(queue.idxInQueueTimeRange
> > [7878323239537570657254616e67307878:true:4@1340870382109012,])
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,192 KeysIndex.java (line 103)
> > removed index entry for cleaned-up value DecoratedKey(TestMo,
> > 546573744d6f):ColumnFamily(queue.idxMoType
> > [7878323239537570657254616e67307878:true:4@1340870382109009,])
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,193 KeysIndex.java (line 103)
> > removed index entry for cleaned-up value DecoratedKey(32,
> > 3332):ColumnFamily(queue.idxPartitionId
> > [7878323239537570657254616e67307878:true:4@1340870382109001,])
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,193 KeysIndex.java (line 103)
> > removed index entry for cleaned-up value
> > DecoratedKey(3898026790553046681950927403065,
> > 31333430383730333531373839):ColumnFamily(queue.idxRecvTime
> > [7878323239537570657254616e67307878:true:4@1340870382109003,])
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,193 KeysIndex.java (line 103)
> > removed index entry for cleaned-up value
> > DecoratedKey(3898026790552830793920833138736,
> > 31333430383431363030303030):ColumnFamily(queue.idxRecvTimeRange
> > [7878323239537570657254616e67307878:true:4@1340870382109010,])
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,193 KeysIndex.java (line 103)
> > removed index entry for cleaned-up value DecoratedKey(test,
> > 74657374):ColumnFamily(queue.idxServiceProvider
> > [7878323239537570657254616e67307878:true:4@1340870382109007,])
> > DEBUG [MutationStage:10] 2012-06-28 15:59:42,193 RowMutationVerbHandler.java
> > (line 56) RowMutation(keyspace='drc',
> > key='7878323239537570657254616e67307878', modifications=[ColumnFamily(queue
> > -deleted at 1340870382185000- [])]) applied.  Sending response to
> > 6553@/192.168.0.3
> > DEBUG [ReadStage:17] 2012-06-28 15:59:42,198 CollationController.java (line
> > 77) collectTimeOrderedData
> > DEBUG [ReadStage:17] 2012-06-28 15:59:42,199 ReadVerbHandler.java (line 58)
> > Read key 7878323239537570657254616e67307878; sending response to
> > 6556@/192.168.0.3
> >
> > BRs
> > //Ares
> 
> 
> 
> --
> Jonathan Ellis
> Project Chair, Apache Cassandra
> co-founder of DataStax, the source for professional Cassandra support
> http://www.datastax.com
> 

Reply via email to