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

Andres de la Peña commented on CASSANDRA-18500:
-----------------------------------------------

The proposed patch adds a new guardrail for partition size that is checked when 
writing a sstable (flush, compaction, etc.):

||PR||CI||
|[trunk|https://github.com/apache/cassandra/pull/2321]|[j8|https://app.circleci.com/pipelines/github/adelapena/cassandra/2890/workflows/3702a648-179c-4536-b004-bd8297c34a53]
 
[j11|https://app.circleci.com/pipelines/github/adelapena/cassandra/2890/workflows/301bdae4-0683-40d1-8939-6a2d2ac0edcb]|

Triggering the failure threshold will emit an ERROR log message and a 
diagnostic event, but it won't abort the sstable write operation.

This guardrail replaces the current 
{{compaction_large_partition_warning_threshold}} property, which is now marked 
as deprecated. Both checks will exist until we remove 
{{compaction_large_partition_warning_threshold}} on the next major. The reason 
for keeping both properties and not just renaming 
{{compaction_large_partition_warning_threshold}} to 
{{partition_size_warn_threshold}} is that the behaviour, log messages, etc. are 
slightly different.

It's worth mentioning that the previously existing 
{{compaction_large_partition_warning_threshold}}:
* Isn't actually triggered only on compaction, but on any sstable write.
* Cannot be dynamically updated.
* Doesn't emit any kind of diagnostic events.

The new guardrail uses standarized guardrail config, messages and JMX methods. 
It can be dynamically updated and it emits diagnostic events on triggering.

> Add guardrail for partition size
> --------------------------------
>
>                 Key: CASSANDRA-18500
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18500
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Feature/Guardrails
>            Reporter: Andres de la Peña
>            Assignee: Andres de la Peña
>            Priority: Normal
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Add a guardrail for max partition size, for example:
> {code:java}
> partition_size_warn_threshold: 50MiB
> partition_size_fail_threshold: 100MiB
> {code}
> Most probably this guardrail would only be checked when writing a new sstable 
> to disk (fush/compact). Triggering the guardrail on sstable write would emit 
> a log message and a diagnostic event, but it wouldn't reject the write.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to