Bug: CEP-21 - Implement missing features and various other fixes
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 27/Sep/23 13:38
Resolved: 02/Oct/23 06:21

[CEP-21] CASSANDRA-18816 rebase fixes
https://github.com/krummas/cassandra/commit/4d06d73c7e
make the 18816 tests pass with TCM

[CEP-21] fix cqlshlib tests
https://github.com/krummas/cassandra/commit/a90cc1b98a
Add cluster_metadata keyspace where needed

[CEP-21] remove authsetup
https://github.com/krummas/cassandra/commit/e5a8ac2607
Avoid calling doAuthSetup twice

[CEP-21] serialize MemtableParams when writing TableParams
https://github.com/krummas/cassandra/commit/e81ddb4e31
Missed in earlier rebase, need to serialize MemtableParams when saving a snapshot

[CEP-21] Upgrading a one node cluster to TCM fails attempting Gossip shadow round
https://github.com/krummas/cassandra/commit/8bcd581fc4
Upgrading fails due to first upgraded node waiting for gossip state from peers.

[CEP-21] Implement replacement with same address
https://github.com/krummas/cassandra/commit/c1e94aa21a
Add back missing replace with same address feature

[CEP-21] fix nodetool bootstrap resume
https://github.com/krummas/cassandra/commit/2265c4b615
Add back missing nodetool bootstrap resume feature

[CEP-21] Remove LEFT peers from system tables and exclude them during startup
https://github.com/krummas/cassandra/commit/2aef6f6a96
Avoid trying to gossip with LEFT peers

[CEP-21] Fix flaky distributed log test. While it fails very infrequently on CI, it consistently fails locally.
https://github.com/krummas/cassandra/commit/6ea5042618
Test fix

[CEP-21] Retry indefinitely for STARTUP messages.
https://github.com/krummas/cassandra/commit/5924404bd6
If the CMS is down and we try to upgrade an instance we should block until the CMS comes back

[CEP-21] Implement versioning for ranges
https://github.com/krummas/cassandra/commit/ef1ad17669
To be able to know if the coordinator has the correct ring view we keep track of when a range was last updated. If coordinator has not seen this update we fail the request.

[CEP-21] Handle case where removenode requires no streaming to restore RF
https://github.com/krummas/cassandra/commit/47769f0ba2

[CEP-21] Remove redundant Keyspaces arg from SchemaTransformation::apply
https://github.com/krummas/cassandra/commit/d0367189da
Code cleanup

[CEP-21] Don't trigger client warnings or guardrails when executing AlterSchema transformations
https://github.com/krummas/cassandra/commit/ce7511f2ec
Avoid getting multiple client warnings

[CEP-21] Validate schema alterations on coordinator
https://github.com/krummas/cassandra/commit/bf9169683b

[CEP-21] Add a script for simulation running
https://github.com/krummas/cassandra/commit/599d6f70a3

[CEP-21] Add nextId to Directory serialization and make it possible to bump metadata serialization version
https://github.com/krummas/cassandra/commit/6dd4c92797
Previously, on bounce, each instance calculated which nodeId we should give a new node by counting the number of instances in the cluster, this can diverge so that different nodes have different ids. Fixed by serializing the current nextId when storing snapshot.

[CEP-21] Add metric for CMS membership
https://github.com/krummas/cassandra/commit/5dfb270d92

[CEP-21] Reenable starting without joining (-Dcassandra.join_ring=false)
https://github.com/krummas/cassandra/commit/bd1e9da2f8
Add back missing join_ring=false feature.

[CEP-21] Preparing DDL statements should capture the CQL string
https://github.com/krummas/cassandra/commit/c312fd5273
Avoid NPE