cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Stupp (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-14109) Prevent continuous schema exchange between 3.0 and 3.11 nodes
Date Tue, 12 Dec 2017 17:30:01 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-14109?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Robert Stupp updated CASSANDRA-14109:
-------------------------------------
    Status: Patch Available  (was: Open)

> Prevent continuous schema exchange between 3.0 and 3.11 nodes
> -------------------------------------------------------------
>
>                 Key: CASSANDRA-14109
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14109
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Coordination, Distributed Metadata
>            Reporter: Robert Stupp
>            Assignee: Robert Stupp
>            Priority: Blocker
>             Fix For: 3.11.2
>
>
> Continuous schema migrations can happen during an upgrade from 3.0.x to 3.x even with
versions having the patches for CASSANDRA-13441 and CASSANDRA-13559.
> The root cause is the {{cdc}} column, which is included in schema version calculation
in {{RowIterators.digest()}} via {{SchemaKeyspace.calculateSchemaDigest()}}.
> It is possible to make the schema-version calculation between 3.0 and 3.11 compatible.
The idea here is: 3.11 accepts both 3.0 compatible and 3.11 "native" schema versions. As long
as there is one 3.0 node in the cluster, 3.11 announces a 3.0 compatible schema version (without
the {{cdc}} column). When there are no (more) 3.0 nodes in the cluster, announce the "real"
3.11 schema version (including the {{cdc}} column). "Announce" means announcing via Gossip
and storing in {{system.local}}.
> The change itself is against 3.11 only. A couple of log messages have been improved and
some code regarding schema version checks has been moved into the {{Schema}} class. Those
"side changes" are carried to trunk. Because of that, the 3.11 and trunk branches are different.
The "real" change is in the 3.11 branch.
> {{NEWS.txt}} for 3.11(only) contains upgrade notes.
> ||OSS 3.11|[branch|https://github.com/apache/cassandra/compare/cassandra-3.11...snazy:schema-migration-upgrade-bug-3.11?expand=1]
> ||OSS trunk|[branch|https://github.com/apache/cassandra/compare/trunk...snazy:schema-migration-upgrade-bug-trunk?expand=1]
> ||OSS dtest|[branch|https://github.com/riptano/cassandra-dtest/compare/master...snazy:schema-migration-upgrade-bug?expand=1]
> We've verified the functionality of the patch by usual CI tests and extensive tests using
the new upgrade dtest.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org


Mime
View raw message