[ 
https://issues.apache.org/jira/browse/CASSANDRA-17147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17451450#comment-17451450
 ] 

David Capwell commented on CASSANDRA-17147:
-------------------------------------------

{code}
# Guardrail to warn or fail when creating more user tables than threshold. 
Defaults to -1 to disable.
     tables:
         warn_threshold: -1
         fail_threshold: -1

     # Guardrail to warn or fail when creating more columns per table than 
threshold. Defaults to -1 to disable.
     columns_per_table:
         warn_threshold: -1
         fail_threshold: -1

     # Guardrail to warn or fail when creating more secondary indexes per table 
than threshold. Defaults to -1 to disable.
     secondary_indexes_per_table:
         warn_threshold: -1
         fail_threshold: -1

     # Guardrail to warn or fail when creating more materialized views per 
table than threshold. Defaults to -1 to disable.
     materialized_views_per_table:
         warn_threshold: -1
         fail_threshold: -1

     # Guardrail to ignore or reject properties when creating tables. By 
default all properties are allowed.
     table_properties:
         ignored_values: []
         disallowed_values: []
{code}

LGTM; though would drop "_values" in table_properties

{code}
validate("guardrails.materialized_views_per_table")
{code}

we did the same for TrackWarnings; LGTM.

If we assume the nested convo doesn't get flat out rejected (mostly people are 
positive to it) then CASSANDRA-17166 can fix your concerns for getter/setters; 
I know that the yaml will be interesting with your patch, but prefer 
CASSANDRA-17166 fixes those issues rather than you dealing with it in this 
patch (your getter/setters are currently exposed as camel case in yaml; found 
the same bug in TrackWarnings).

Once you merge into the PR can view whole patch together; think we are close!

> Guardrails prototype
> --------------------
>
>                 Key: CASSANDRA-17147
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17147
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Feature/Guardrails
>            Reporter: Andres de la Peña
>            Assignee: Andres de la Peña
>            Priority: Normal
>             Fix For: 4.x
>
>          Time Spent: 14h 50m
>  Remaining Estimate: 0h
>
> The purpose of this ticket is creating an initial implementation of the 
> guardrails framework, as well as adding a few simple guardrails using this 
> framework.
> To keep things easy, this initial implementation would only support 
> guardrails that are triggered on the coordinator, and they would be 
> dynamically updatable only through JMX.
> Once we have this initial framework ready in a feature branch we can have 
> multiple tickets addressing all the things that would have been left out of 
> the scope of this ticket, such as:
> * Dynamic updates through virtual tables
> * Being able to notify about guardrails triggered on replicas
> * Using custom exceptions other than {{InvalidRequestException}}.
> * Porting existing limits to use the new guardrails framework
> * Adding new guardrails beyond the initial ones
> The reason for having this simpler prototype is that it will give us a common 
> ground to parallelize work on the parts mentioned above.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

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

Reply via email to