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

Brandon Williams commented on CASSANDRA-20118:
----------------------------------------------

bq. I can see a brief schema mismatch after the first node goes to UPGRADING, 
but then I see the schema changes replicate to the other nodes and the schema 
mismatch goes away.  This is I think how it is now meant to work. 

Yes indeed it is.

[Here|https://app.circleci.com/pipelines/github/driftx/cassandra/1788/workflows/45c3fca1-cc80-4e5e-abb6-12c72a5d99fd]
 is CI against the patch with 
[this|https://github.com/driftx/cassandra-dtest/tree/CASSANDRA-20118] dtest 
repo.  I think the only new failures are the EmptyValuesTests, which I think 
are failing due to [this 
line|https://github.com/apache/cassandra/blob/cassandra-5.0/src/java/org/apache/cassandra/io/sstable/format/big/BigFormat.java#L343],
 but I haven't figured out what I'm going to do there.

[Here|https://github.com/apache/cassandra/blob/cassandra-5.0/src/java/org/apache/cassandra/io/sstable/format/big/BigFormat.java#L343]
 is CI against this patch with its version set to 4.1, against 
[this|https://github.com/driftx/cassandra-dtest/tree/CASSANDRA-20118-vhack] 
dtest repo.  I fixed the create/drop role auth problems and I think everything 
that's failing is due to mismatched output now instead of throwing errors.  I 
don't think those cosmetics are worth bothering with in CASSANDRA_4 mode.

Aside from the EmptyValuesTests I think this is ready for review.


> 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, 
> debug20241213.log, image-2024-12-11-17-44-56-585.png, 
> image-2024-12-12-11-39-25-970.png, 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

Reply via email to