I am cool with voting. I would love to see added something like “all guard 
rails must work in a rolling fashion where some nodes do not have the latest 
guard rails”, but also cool leaving this to JIRA.

> On Nov 10, 2021, at 11:17 AM, Ekaterina Dimitrova <e.dimitr...@gmail.com> 
> wrote:
> 
> I am personally ready to give you my vote :-)
> 
> On Wed, 10 Nov 2021 at 13:09, Andrés de la Peña <adelap...@apache.org>
> wrote:
> 
>> I think the updated CEP incorporates the feedback above, unless I'm missing
>> something. Are we ready to start a vote?
>> 
>> On Tue, 2 Nov 2021 at 15:54, Andrés de la Peña <adelap...@apache.org>
>> wrote:
>> 
>>> Under "Migrating existing cassandra.yaml warn/fail thresholds”, I
>> recently
>>>> added a few things which are basically guardrails, so should be
>> included in
>>>> this set; they are configured by track_warnings (coordinator_read_size,
>>>> local_read_size, and row_index_size).  With track_warnings I setup the
>>>> plumbing to have read queries trigger warnings (or abort the query) to
>> the
>>>> client exists (under "Event logging" you mention "and also to the client
>>>> connection when applicable”) and isn’t limited to the coordinator
>>>> participating in the query (previous limitation for tombstone warnings).
>>>> One thing I found which was problematic for track_warnings was that
>>>> altering clients is annoying as java and python both ignore the error
>>>> message we send (see
>>>> 
>> https://github.com/datastax/java-driver/blob/3.11.0/driver-core/src/main/java/com/datastax/driver/core/Responses.java#L73-L131
>> ).
>>>> We log client warnings (if enabled) but ignore any detailed error
>> message
>>>> received from the server; it would be good to talk about client
>>>> integrations and how users are informed of issues in more detail.
>>> 
>>> 
>>> I have updated the CEP to include those thresholds among the ones that
>>> could be migrated once we have the guardrails framework ready. I have
>> also
>>> mentioned the usage of internal messaging to be able to propagate the
>>> outcome of guardrails triggered on nodes that are not the coordinator,
>> and
>>> the need of making changes on drivers.
>>> 
>>> What I meant by "and also to the client connection when applicable" is
>>> that some guardrails can be applied to things that are nor necessarily
>>> associated to a client connection, such as compaction. I have tried to be
>>> more explicit about that.
>>> 
>>> 
>>> On Tue, 2 Nov 2021 at 12:53, Andrés de la Peña <a.penya.gar...@gmail.com
>>> 
>>> wrote:
>>> 
>>>> Being able to configure guardrails dynamically makes a lot of sense to
>>>> me, I have updated the CEP to mention that. I think we don't need to
>> decide
>>>> yet whether it would be done through JMX and/or virtual tables.
>>>> 
>>>> On Mon, 1 Nov 2021 at 20:35, C. Scott Andreas <sc...@paradoxica.net>
>>>> wrote:
>>>> 
>>>>> Re: "I think you all know my feels on JMX." –
>>>>> 
>>>>> Super fair - I'd meant to speak in terms of desired outcome ("the
>>>>> feature should be dynamically configurable at runtime") rather than
>>>>> implementation ("this should be via JMX"). 👍
>>>>> 
>>>>> On Nov 1, 2021, at 1:24 PM, David Capwell <dcapw...@apple.com.INVALID>
>>>>> wrote:
>>>>> 
>>>>> 
>>>>> If anyone wants to bite off making
>>>>> 
>> https://github.com/apache/cassandra/blob/ab920c30310a8c095ba76b363142b8e74cbf0a0a/src/java/org/apache/cassandra/db/virtual/SettingsTable.java
>>>>> <
>>>>> 
>> https://github.com/apache/cassandra/blob/ab920c30310a8c095ba76b363142b8e74cbf0a0a/src/java/org/apache/cassandra/db/virtual/SettingsTable.java
>>> 
>>>>> support mutability then we get vtable support. I am cool with JMX
>> and/or
>>>>> vtable, to me its just more important to allow dynamic setting of these
>>>>> configs.
>>>>> 
>>>>> On Nov 1, 2021, at 10:36 AM, bened...@apache.org wrote:
>>>>> 
>>>>> having them only configured via yaml seems like a bad outcome
>>>>> 
>>>>> 
>>>>> +1
>>>>> 
>>>>> I would like to see us move towards configuration being driven through
>>>>> virtual tables where possible, so that the whole cluster can be managed
>>>>> from a single interface. Not sure if this is the right place to bite
>> this
>>>>> off, but perhaps?
>>>>> 
>>>>> From: Jeff Jirsa <jji...@gmail.com>
>>>>> Date: Monday, 1 November 2021 at 16:47
>>>>> To: Cassandra DEV <dev@cassandra.apache.org>
>>>>> Subject: Re: [DISCUSS] CEP-3: Guardrails
>>>>> Without bike-shedding too much, guardrails would be great, building
>> them
>>>>> into a more general purpose framework that limits various dangerous
>>>>> things
>>>>> would be fantastic. The CEP says that the guardrails should be distinct
>>>>> from the capability restrictions (
>>>>> https://issues.apache.org/jira/browse/CASSANDRA-8303 ), but I don't
>> see
>>>>> why
>>>>> that needs to be the case. A system-level guardrail and a
>> personal-level
>>>>> guardrail are both restrictions, they just have different scopes, so
>>>>> implement the restriction framework first, and allow the scopes to be
>>>>> expanded as needed?
>>>>> 
>>>>> Naming wise, I don't know that I'd actually surface these as
>>>>> "guardrails",
>>>>> but more as general "limits", and having them only configured via yaml
>>>>> seems like a bad outcome
>>>>> 
>>>>> 
>>>>> 
>>>>> https://issues.apache.org/jira/browse/CASSANDRA-8303
>>>>> 
>>>>> 
>>>>> 
>>>>> On Mon, Nov 1, 2021 at 9:31 AM Andrés de la Peña <adelap...@apache.org
>>> 
>>>>> wrote:
>>>>> 
>>>>> Hi everyone,
>>>>> 
>>>>> I'd like to start a discussion about Guardrails proposal:
>>>>> 
>>>>> 
>>>>> 
>> https://cwiki.apache.org/confluence/display/CASSANDRA/%28DRAFT%29+-+CEP-3%3A+Guardrails
>>>>> 
>>>>> Guardrails are an easy way to enforce system-wide soft and hard limits
>> to
>>>>> prevent anti-patterns of bad usage and in the long run make it not
>>>>> possible
>>>>> to severely degrade the performance of a node/cluster through user
>>>>> actions
>>>>> such as having too many secondary indexes, too large partitions, almost
>>>>> full disks, etc.
>>>>> 
>>>>> Thanks,
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>> 


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

Reply via email to