[ https://issues.apache.org/jira/browse/CASSANDRA-20118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17904873#comment-17904873 ]
Brandon Williams commented on CASSANDRA-20118: ---------------------------------------------- bq. Isn't there really any workaround? That's what making calculateSchemaDigest backward-compatible was all about. So there is, we're just not going to use it now. Taking on new schema at some point in the upgrade was always inevitable though. bq. My best plan is to hack the branch to set the version (falsely) to 4.1 and see what shakes out from there. This isn't perfect since 4.1 tests aren't aware of CASSANDRA-18252, but it uncovered some auth problems I can fix, and some I can't like creating/altering users/roles, which will just have to be a restriction on CASSANDRA_4 nodes since the CQL grammar is different. > Hints ignored during Upgrade from C*4 to C*5 > -------------------------------------------- > > Key: CASSANDRA-20118 > URL: https://issues.apache.org/jira/browse/CASSANDRA-20118 > Project: Apache Cassandra > Issue Type: Bug > Components: Consistency/Hints > Reporter: Paul Chandler > Assignee: Brandon Williams > Priority: Normal > Fix For: 5.0.x > > Attachments: 4-1debug-third-node.log, 4-1debug.log, > 4-1system-third-node.log, 4-1system.log, 5-0debug.log, 5-0system.log, > system-20118.log > > > I have discovered that some hints were not being processed after nodes come > back up when a cluster in in a mixed mode with some cassandra 4 nodes and > some cassdandra 5 nodes ( these with a storage compatibility mode CASSANDRA_4 > ) > > When in this mode there is a schema mismatch after the first node has been > upgraded, which continues until the last node has been upgraded. > It seems that the hints are blocked from being sent if there is a schema > mismatch between the 2 nodes, that can be seen at this line. > [cassandra/src/java/org/apache/cassandra/hints/HintsDispatchTrigger.java at > cassandra-5.0 · > apache/cassandra|https://github.com/apache/cassandra/blob/cassandra-5.0/src/java/org/apache/cassandra/hints/HintsDispatchTrigger.java#L65] > I have tested removing this line, and that then does allow the hint to be > transferred normally. However I am not sure of the implications for doing > that if the hint is for part of the schema where the actual mismatch occurs. > > This creates the problem when a node is being upgraded and is currently down, > hint files will be created for it on the new cassandra 5 nodes and the old > cassandra 4 nodes, but the hint files on the old cassandra 4 nodes will not > be processed, due to the schema mismatch. Leading to potential data loss. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org