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

Shlomit commented on CASSANDRA-21478:
-------------------------------------

Hey, I'd like to align on the design before coding.

Main question - counting granularity, per-query or per-partition?

The existing read guardrails (tombstone, read-size, SAI) are all per-query.
A per-partition count instead catches the case read-size misses - one partition 
spread across hundreds of SSTables, but needs a bit more machinery on the range 
path (a lightweight per-partition callback on mergeLazily, since that info only 
exists at merge time). In this case we could keep the current 
sstables_per_read_log_threshold log untouched as additional per-query data.

My own lean is toward per-partition - it targets the read-amplification 
pathology that the per-query guardrails don't really capture, and it keeps the 
existing log useful alongside it.
Would appreciate your thoughts on this.

> Add a new guardrail around the number of SSTables per read
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-21478
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21478
>             Project: Apache Cassandra
>          Issue Type: Improvement
>          Components: Feature/Guardrails
>            Reporter: Caleb Rackliffe
>            Assignee: Shlomit
>            Priority: Normal
>             Fix For: 6.x, 7.x
>
>
> While there is some prior art on this for SAI, which warns and then fails 
> queries that touch too many SSTable indexes, the normal non-index read path 
> does not have any guardrail for extremely aberrant cases where perhaps 
> compaction falls behind and a small percentage of reads touch hundreds of 
> SSTables. It might be nice for the server to be louder about this.



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