Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
Degradation - Performance Bug/Regression
-
Normal
-
Normal
-
Performance Regression Test
-
All
-
None
-
Description
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.
Attachments
Attachments
Issue Links
- relates to
-
CASSANDRA-19341 Relation and Restriction hierarchies are too complex and error prone
- Resolved
- links to