[
https://issues.apache.org/jira/browse/CASSANDRA-18617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17738306#comment-17738306
]
dan jatnieks commented on CASSANDRA-18617:
------------------------------------------
{quote}keeping a static int on SchemaConstants storing the number of system
tables.
{quote}
Hmm, I think I'd prefer the list of table names explicitly myself; a pain, but
more clear imo. With a list of names, the unit test could flag the specific
table name(s) that are missing; using a number it could only flag that the
count is wrong.
Here's another idea - use {{@Replaces}} tag in {{Config}} only to rename
{{table_count_warn_threshold}} to something else that is then only used in
{{GuardrailsOptions}} to perform the conversion. Something like this:
{noformat}
@Replaces(oldName = "table_count_warn_threshold", converter =
Converters.IDENTITY, deprecated = true)
public volatile int convert_deprecated_table_count_warn_threshold_to_guardrail
= -1;
{noformat}
This follows the normal {{@Replaces}} mechanism, and hopefully, with a good
enough replacement name and comment, it will be reasonably clear that the
replacement is used as an intermediate value for use after the system is fully
initialized.
> Disable the deprecated keyspace/table thresholds and convert them to
> Guardrails
> -------------------------------------------------------------------------------
>
> Key: CASSANDRA-18617
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18617
> Project: Cassandra
> Issue Type: Improvement
> Components: Feature/Guardrails
> Reporter: dan jatnieks
> Assignee: dan jatnieks
> Priority: Normal
> Fix For: 5.x
>
>
> The non-guardrail thresholds 'keyspace_count_warn_threshold' and
> 'table_count_warn_threshold' configuration settings were first added with
> CASSANDRA-16309 in 4.0-beta4 and have subsequently been deprecated since
> 4.1-alpha in CASSANDRA-17195 when they were replaced/migrated to guardrails
> as part of CEP-3 (Guardrails).
> These thresholds should now be removed from cassandra.yaml, while still
> allowed in existing yaml files.
> The old thresholds will be disabled by removing their default values from
> Config.java, and any existing values for these thresholds will be converted
> to the new guardrails using the '@Replaces' tag on the corresponding
> guardrail values.
> Since the old thresholds considered the number of system keyspace/tables in
> their values, the '@Replaces' conversion will subtract the current number of
> system tables from the old value and log a descriptive message.
> See dev list discussion:
> https://lists.apache.org/thread/0zjg08hrd6xv7lhvo96frz456b2rvr8b
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]