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

Dmitry Konstantinov edited comment on CASSANDRA-20760 at 8/7/25 5:18 PM:
-------------------------------------------------------------------------

CI results 
(https://ci-cassandra.apache.org/view/patches/job/Cassandra-devbranch-5/375/):
[^ci_summary_trunk_20760.htm]  
[^results_details_trunk_20760.tar.xz] 

All the failures are flaky tests or known issues:
* dtest-latest.global_row_key_cache_test.TestGlobalRowKeyCache test_functional
* dtest-latest.cqlsh_tests.test_cqlsh_copy.TestCqlshCopy 
test_bulk_round_trip_blogposts_with_max_connections
* dtest.disk_balance_test.TestDiskBalance 
test_disk_balance_after_boundary_change_lcs
* dtest.materialized_views_test.TestMaterializedViews 
test_insert_during_range_movement_rf3
* db.compaction.CompactionsBytemanTest 
testSSTableNotEnoughDiskSpaceForCompactionGetsDropped-_jdk11_x86_64
* distributed.test.SSTableLoaderEncryptionOptionsTest 
bulkLoaderSuccessfullyStreamsOverSslWithDeprecatedSslStoragePort-_jdk11_x86_64
* distributed.test.SSTableLoaderEncryptionOptionsTest 
bulkLoaderSuccessfullyStreamsOverSslWithDeprecatedSslStoragePort-_jdk17_x86_64
* distributed.test.accord.AccordInteroperabilityTest 
testNonSerialReadIsThroughAccordFull-_jdk17_x86_64
* distributed.test.accord.AccordMigrationTest testAccordToPaxos-_jdk11_x86_64
* distributed.test.accord.AccordMigrationTest testAccordToPaxos-_jdk17_x86_64
* distributed.test.log.InProgressSequenceCoordinationTest 
bootstrapProgressTest-_jdk17_x86_64
* distributed.test.log.InProgressSequenceCoordinationTest 
decommissionProgressTest-_jdk17_x86_64
* distributed.test.log.InProgressSequenceCoordinationTest 
inProgressSequenceRetryTest-_jdk17_x86_64
* distributed.test.log.InProgressSequenceCoordinationTest 
replacementProgressTest-_jdk17_x86_64
* fuzz.sai.MultiNodeSAITest indexOnlySaiTest-cassandra.testtag_IS_UNDEFINED
* io.sstable.indexsummary.IndexSummaryTest 
testLargeIndexSummary-cassandra.testtag_IS_UNDEFINED
* service.accord.AccordJournalBurnTest testOne-_jdk11_x86_64
* simulator.test.ShortAccordSimulationTest simulationTest-_jdk11_x86_64


was (Author: dnk):
CI results 
(https://ci-cassandra.apache.org/view/patches/job/Cassandra-devbranch-5/375/):
[^ci_summary_trunk_20760.htm]  
[^results_details_trunk_20760.tar.xz] 

All the failures are flaky tests or known issues:
dtest-latest.global_row_key_cache_test.TestGlobalRowKeyCache test_functional
dtest-latest.cqlsh_tests.test_cqlsh_copy.TestCqlshCopy 
test_bulk_round_trip_blogposts_with_max_connections
dtest.disk_balance_test.TestDiskBalance 
test_disk_balance_after_boundary_change_lcs
dtest.materialized_views_test.TestMaterializedViews 
test_insert_during_range_movement_rf3
db.compaction.CompactionsBytemanTest 
testSSTableNotEnoughDiskSpaceForCompactionGetsDropped-_jdk11_x86_64
distributed.test.SSTableLoaderEncryptionOptionsTest 
bulkLoaderSuccessfullyStreamsOverSslWithDeprecatedSslStoragePort-_jdk11_x86_64
distributed.test.SSTableLoaderEncryptionOptionsTest 
bulkLoaderSuccessfullyStreamsOverSslWithDeprecatedSslStoragePort-_jdk17_x86_64
distributed.test.accord.AccordInteroperabilityTest 
testNonSerialReadIsThroughAccordFull-_jdk17_x86_64
distributed.test.accord.AccordMigrationTest testAccordToPaxos-_jdk11_x86_64
distributed.test.accord.AccordMigrationTest testAccordToPaxos-_jdk17_x86_64
distributed.test.log.InProgressSequenceCoordinationTest 
bootstrapProgressTest-_jdk17_x86_64
distributed.test.log.InProgressSequenceCoordinationTest 
decommissionProgressTest-_jdk17_x86_64
distributed.test.log.InProgressSequenceCoordinationTest 
inProgressSequenceRetryTest-_jdk17_x86_64
distributed.test.log.InProgressSequenceCoordinationTest 
replacementProgressTest-_jdk17_x86_64
fuzz.sai.MultiNodeSAITest indexOnlySaiTest-cassandra.testtag_IS_UNDEFINED
io.sstable.indexsummary.IndexSummaryTest 
testLargeIndexSummary-cassandra.testtag_IS_UNDEFINED
service.accord.AccordJournalBurnTest testOne-_jdk11_x86_64
simulator.test.ShortAccordSimulationTest simulationTest-_jdk11_x86_64

> Optimize TrieMemtable#getFlushSet
> ---------------------------------
>
>                 Key: CASSANDRA-20760
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-20760
>             Project: Apache Cassandra
>          Issue Type: Improvement
>          Components: Local/Memtable
>            Reporter: Dmitry Konstantinov
>            Assignee: Dmitry Konstantinov
>            Priority: Normal
>             Fix For: 5.x
>
>         Attachments: 5.1_cpu_after.html, 5.1_cpu_before.html, 
> ci_summary_trunk_20760.htm, cpu_profile_after.png, cpu_profile_before.png, 
> cpu_profile_before_pattern.png, results_details_trunk_20760.tar.xz
>
>          Time Spent: 2h 10m
>  Remaining Estimate: 0h
>
> Currently within org.apache.cassandra.db.memtable.TrieMemtable#getFlushSet we 
> iterate over all partitions to retrieve partition key sizes by constructing 
> byte[] for every partition key.
> We can do a similar kind of traversal logic but only count bytes instead of 
> allocating and filling byte[] values. Additionally, we can skip token bytes 
> instead of parsing them.
> cpu heatmap captured using async profiler:  [^5.1_cpu_before.html] 
> !cpu_profile_before.png|width=1000!
> when we do a flush we almost consume 1 cpu core for a about second within 
> getFlushSet:
>  !cpu_profile_before_pattern.png|width=1000!



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