You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Caleb Rackliffe (Jira)" <ji...@apache.org> on 2024/11/01 21:47:00 UTC
[jira] [Commented] (CASSANDRA-19497) ResultRetriever should batch clusterings/rows during SAI post-filtering reads
[ https://issues.apache.org/jira/browse/CASSANDRA-19497?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17894922#comment-17894922 ]
Caleb Rackliffe commented on CASSANDRA-19497:
---------------------------------------------
Attached two more flamegraphs to document the overhead of all the non-batched single-partition reads: [^cpu-trunk.html] [^alloc-trunk.html]
> ResultRetriever should batch clusterings/rows during SAI post-filtering reads
> -----------------------------------------------------------------------------
>
> Key: CASSANDRA-19497
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19497
> Project: Cassandra
> Issue Type: Improvement
> Components: Feature/SAI
> Reporter: Caleb Rackliffe
> Assignee: Caleb Rackliffe
> Priority: Normal
> Fix For: 5.0.x, 5.x
>
> Attachments: alloc-trunk.html, cpu-trunk.html, heap-flamegraph.html, wall-no-parked-threads.html
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> SAI currently creates and executes a {{SinglePartitionReadCommand}} for every {{PrimaryKey}} the index produces to read the corresponding row for post-filtering. Informed by the limits present in the read command itself, it should be possible to batch those reads w/ a {{ClusteringIndexNamesFilter}} in many fewer {{SinglePartitionReadCommands}}. When we have a handful of matches in a large partition, this seems like would involve many fewer seeks, less unnecessary object creation, etc.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org