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

Paul Chandler commented on CASSANDRA-20118:
-------------------------------------------

I think shifting the schema update to the UPGRADING mode will actually make 
things worse if we still have the "hints not delivered" issue, as the repairs 
don't work either for that stage, least repairs still work when you have some 
DCs in C*4 and some in C*5 ( CASSANDRA_4 ) so that is a workaround.

Our problem is that we have some large clusters > 1000 nodes across 6 physical 
datacenters, and the normal policy is to only upgrade a datacenter per day, so 
we can be in each of the mixed modes for 1-2 weeks. which is a bit different to 
managing a straight rolling restart across all nodes in turn.  

> 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
>
>
> 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