[ 
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]

Reply via email to