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

Stefan Miklosovic commented on CASSANDRA-20118:
-----------------------------------------------

??The different digest was due to new table properties (specifically 
allow_auto_snapshot and incremental_backups) that weren't present in 4.1. This 
is also bad news because there will have to be a schema disagreement at some 
point, since these fundamentally change the digest calculation.??

yes, this is what I was mentioning in my first comment 

??EDIT: Actually I am not completely sure it is so simple like that, for 
example, if we introduce a new table property into CQL (all these properties on 
CQL specified with WITH clause), that itself would change the schema version 
while schema of a table as such (columns etc) would stay intact.??

Isn't there really any workaround? Hard to live with this!

It is about how we de/serialize in TableParams.Serializer, we are already 
dealing with "versions" and conditionally setting these two ... 


> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to