[
https://issues.apache.org/jira/browse/CASSANDRA-20118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17905241#comment-17905241
]
Stefan Miklosovic edited comment on CASSANDRA-20118 at 12/12/24 4:26 PM:
-------------------------------------------------------------------------
Well .. that makes sense to me in a way. Because if only one node in is
UPGRADING and the rest is on CASSANDRA_4, then why should these nodes have
_anything_ from UPGRADING node when it comes to system tables? It is something
different when it comes to user tables, if you create them on one node then it
should be applied to all, but system tables should be treated differently in
CASSANDRA_4. If we added system tables in CASSANDRA_4 by the propagation as you
suggested, then these nodes are _not_ in CASSANDRA_4 compatibility mode
anymore, no?
was (Author: smiklosovic):
Well .. that makes sense to me in a way. Because if only one node in is
UPGRADING and the rest is on CASSANDRA_4, then why should these nodes have
_anything_ from UPGRADING node when it comes to system tables? It is something
different when it comes to user tables, if you create them on one node then it
should be applied to all, but system tables should be treated differently in
CASSANDRA_4. If we added system tables in CASSANDRA_4 by the propagation as you
suggested, then these nodes are _not_ in CASSANDRA_4 compatibility modes
anymore, no?
> 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,
> 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: [email protected]
For additional commands, e-mail: [email protected]