[
https://issues.apache.org/jira/browse/CASSANDRA-20129?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Caleb Rackliffe updated CASSANDRA-20129:
----------------------------------------
Attachment: pre-patch-allocations.jfr
post-patch-allocations.jfr
> Restore optimization in MultiCBuilder around building one clustering
> --------------------------------------------------------------------
>
> Key: CASSANDRA-20129
> URL: https://issues.apache.org/jira/browse/CASSANDRA-20129
> Project: Apache Cassandra
> Issue Type: Bug
> Components: Legacy/Local Write-Read Paths
> Reporter: Caleb Rackliffe
> Assignee: Caleb Rackliffe
> Priority: Normal
> Fix For: 5.x
>
> Attachments: 41 BTree builder inits.png, 41 vs trunk GC.png, 41 vs
> trunk TLAB allocations.png, post-patch-allocations.jfr,
> pre-patch-allocations.jfr, trunk BTree builder inits.png
>
>
> Back in CASSANDRA-10409, we optimized the single clustering case for
> {{MultiCBuilder}} to produce less garbage. In CASSANDRA-19341, we de-facto
> removed that optimization, and I'm seeing increased allocations in trunk,
> specifically at least double the number of {{BTree}} builders. In the
> write-heavy workload I'm profiling, this jumps up to become the most common
> TLAB allocation. I'm attaching JFR screenshots from 4.1 and trunk that show
> the codepaths that touch this on both versions. We should consider
> reintroducing something like the old {{OneClusteringBuilder}}.
> I used {{WriteBench}} to explore things here, mostly w/ the TRUNCATE
> {{EndOp}}, and made sure commitlog writes, view updates, and
> {{CassandraTableWriteHandler}} tracing were disabled to reduce the noise.
>
> [~blerer]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]