[ 
https://issues.apache.org/jira/browse/CASSANDRA-9554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14701389#comment-14701389
 ] 

Sylvain Lebresne commented on CASSANDRA-9554:
---------------------------------------------

I've rebased the patch on [my 
branch|https://github.com/pcmanus/cassandra/commits/9554] (CI: 
[utests|http://cassci.datastax.com/job/pcmanus-9554-testall/1/] and 
[dtests|http://cassci.datastax.com/job/pcmanus-9554-dtest/1/] - no new failure 
that I can see). I did manually tested it this time (by adding new log messages 
on mismatch and manually validating that we had mismatch without the patch on 
update but not with the patch) and it appears to work as expected.

We should make that automated dtests however and I think we can do that by 
using tracing since mismatches are sent in traces. That said, I'm not all that 
familiar with the python driver so I haven't dug into how to read traces yet, 
and besides, I'm not sure what's our usual way to deal with upgrade tests so 
they play well with cassci. Maybe some test engineer that is more familiar with 
all this has a few cycles to write proper automated dtests for this? 
([~enigmacurry], [~philipthompson]?)

Anyway, in the meantime, the code is actually ready for review.


> Avoid digest mismatch storm on upgade to 3.0
> --------------------------------------------
>
>                 Key: CASSANDRA-9554
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9554
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Aleksey Yeschenko
>            Assignee: Sylvain Lebresne
>             Fix For: 3.0 beta 2
>
>
> CASSANDRA-8099, in {{UnfilteredRowIterators.digest()}}:
> {code}
>         // TODO: we're not computing digest the same way that old nodes. This
>         // means we'll have digest mismatches during upgrade. We should pass 
> the messaging version of
>         // the node this is for (which might mean computing the digest last, 
> and won't work
>         // for schema (where we announce the version through gossip to 
> everyone))
> {code}
> In a mixed 2.1(2.2) - 3.0 clusters, we need to calculate both digest at the 
> same time and keep both results, and send the appropriate one, depending on 
> receiving nodes' messaging versions. Do that until 
> {{MessagingService.allNodesAtLeast30()}} is true (this is not unprecedented).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to