Hello, I am having a little bit of a hard time delivering (1). Long story short, this was aimed to be added to 5.0 but we postponed it because it was too late so the new target is 5.1.
What we planned to do is to (2) deprecate alter_table_enabled in 5.0.1 which is superseded by CASSANDRA-19556, then to introduce a system property to avoid schema modifications in 4.0, 4.1 and 5.0 branches and eventually replace alter_table_enabled by CASSANDRA-19556 which deals with this more robustly. The problem we seem to hit is that "system property" in 4.0 -> 5.0 is not enough, because if you think about that, system property has to be set when nodes start. So when operators want to prevent schema modification, they have to turn off a node, set the property and turn it back on. This is not optimal and we were thinking that introducing _something dynamic_ which can be set in runtime would be preferable, but we seem to hit a dead-end (3) because I am not sure what path to choose here and people have become unresponsive since. >From my point of view, the most ideal outcome would be to introduce an mbean method to e.g. StorageService which sets a flag whether schema modifications are possible or not, we would ship this to 4.0 -> trunk. Then in 5.0 we would deprecate alter_table_enabled, in trunk we would remove alter_table_enabled and introduced CASSANDRA-19556 and finally, in trunk, the introduced MBean method on StorageService would internally translate to calling respective guardrails we just introduced (4) so we do not need to deprecate it yet again. Does this make sense to people? My biggest concern is about introducing MBean method to StorageService for lower branches as that technically counts as a new feature but I think that if we want to have this dynamically settable / in runtime, there is no way around that. I am all ears about doing this differently if you think what I propose here is just too much and might be done in an alternative way. (1) https://issues.apache.org/jira/browse/CASSANDRA-19556 (2) https://issues.apache.org/jira/browse/CASSANDRA-19556?focusedCommentId=17848709&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17848709 (3) https://issues.apache.org/jira/browse/CASSANDRA-19828?focusedCommentId=17880018&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17880018 (4) https://github.com/apache/cassandra/pull/3275 Regards