You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Brandon Williams (Jira)" <ji...@apache.org> on 2024/09/24 11:04:00 UTC
[jira] [Updated] (CASSANDRA-19948) Changing cdc table property can cause schema disagreement
[ https://issues.apache.org/jira/browse/CASSANDRA-19948?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Brandon Williams updated CASSANDRA-19948:
-----------------------------------------
Bug Category: Parent values: Degradation(12984)Level 1 values: Other Exception(12998)
Complexity: Normal
Component/s: Cluster/Schema
Discovered By: User Report
Fix Version/s: 4.1.x
5.0.x
5.x
Severity: Normal
Status: Open (was: Triage Needed)
Tentatively marking this 5.0.x and 5.x
> Changing cdc table property can cause schema disagreement
> ---------------------------------------------------------
>
> Key: CASSANDRA-19948
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19948
> Project: Cassandra
> Issue Type: Bug
> Components: Cluster/Schema
> Reporter: Bowen Song
> Priority: Normal
> Fix For: 4.1.x, 5.0.x, 5.x
>
> Attachments: 4.1.1.txt, 4.1.6.txt, cdc_schema_disagreement.sh
>
>
> In the cassandra.yaml file, there is a parameter named "cdc_enabled" which allows CDC to be enabled or disabled on each individual nodes.
> It has been found that it can cause schema disagreement or discrepancy when an "ALTER TABLE ... WITH cdc=..." statement is ran against a node which has "cdc_enabled" set to "false" in a cluster in which nodes have mixed "true"/"false" values for the "cdc_enabled" settings.
> The exact behaviour of the above is version-dependant.
> On Cassandra 4.1.1, the cluster will end up in the schema disagreement state. A rolling restart will bring the schema back in sync, but the changes made to the `cdc` table property will be lost.
> On Cassandra 4.1.6, the cluster will not have visible schema disagreement in the "nodetool describecluster" command's output, but the "ALTER TABLE" statement only has cosmetic effect on the node it is run. The node with "cdc_enabled" set to "false" will show the "cdc" table property has changed, but this does not affect its behaviour in any way. At the same time, other nodes do not see that table property change at all. This is perhaps even worse than on 4.1.1, because the alter table statement is silently failing.
> A shell script for reproducing the above described behaviours in Docker, and the outputs of it on both 4.1.1 and 4.1.6 are attached.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org