[
https://issues.apache.org/jira/browse/CASSANDRA-19429?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17844205#comment-17844205
]
Stefan Miklosovic commented on CASSANDRA-19429:
-----------------------------------------------
4.0 looks reasonable OK too, failing test_pkey_requirement is the fault of
recently merged CASSANDRA-19341
[CASSANDRA-19429-4.0|https://github.com/instaclustr/cassandra/tree/CASSANDRA-19429-4.0]
{noformat}
java11_pre-commit_tests
java11_separate_tests
java8_pre-commit_tests
✓ j8_build 1m 33s
✓ j8_cqlsh-dtests-py2-no-vnodes 5m 17s
✓ j8_cqlsh-dtests-py2-with-vnodes 6m 34s
✓ j8_cqlsh_dtests_py3 6m 55s
✓ j8_cqlsh_dtests_py311 8m 10s
✓ j8_cqlsh_dtests_py311_vnode 6m 49s
✓ j8_cqlsh_dtests_py38 6m 12s
✓ j8_cqlsh_dtests_py38_vnode 5m 31s
✓ j8_cqlsh_dtests_py3_vnode 5m 11s
✓ j8_cqlshlib_tests 9m 6s
✓ j8_jvm_dtests 14m 9s
✓ j11_cqlsh_dtests_py3_vnode 5m 25s
✓ j11_cqlsh_dtests_py38_vnode 5m 33s
✓ j11_cqlsh_dtests_py38 5m 34s
✓ j11_cqlsh_dtests_py311_vnode 5m 33s
✓ j11_cqlsh_dtests_py311 5m 45s
✓ j11_cqlsh-dtests-py2-with-vnodes 5m 37s
✓ j11_cqlsh-dtests-py2-no-vnodes 5m 38s
✕ j8_dtests 31m 17s
json_test.TestJsonFullRowInsertSelect test_pkey_requirement
✕ j8_dtests_vnode 36m 54s
json_test.TestJsonFullRowInsertSelect test_pkey_requirement
✕ j8_unit_tests 10m 45s
org.apache.cassandra.cql3.MemtableSizeTest testTruncationReleasesLogSpace
✕ j8_utests_system_keyspace_directory 9m 40s
org.apache.cassandra.cql3.BatchTest testNonCounterInLoggedBatch
org.apache.cassandra.cql3.MemtableSizeTest testTruncationReleasesLogSpace
✕ j11_unit_tests 7m 8s
org.apache.cassandra.cql3.MemtableSizeTest testTruncationReleasesLogSpace
✕ j11_dtests_vnode 43m 44s
bootstrap_test.TestBootstrap test_bootstrap_binary_disabled
json_test.TestJsonFullRowInsertSelect test_pkey_requirement
✕ j11_dtests 31m 20s
json_test.TestJsonFullRowInsertSelect test_pkey_requirement
✕ j11_cqlsh_dtests_py3 5m 21s
compression_test.TestCompression test_compression_cql_options
java8_separate_tests
{noformat}
[java11_pre-commit_tests|https://app.circleci.com/pipelines/github/instaclustr/cassandra/4287/workflows/62e98e6f-2687-4ba0-943e-17b990ad5737]
[java11_separate_tests|https://app.circleci.com/pipelines/github/instaclustr/cassandra/4287/workflows/946942f4-66a9-4aa2-aed7-581dda35f814]
[java8_pre-commit_tests|https://app.circleci.com/pipelines/github/instaclustr/cassandra/4287/workflows/151e79a6-1494-40c6-9c22-3ac71cf6161b]
[java8_separate_tests|https://app.circleci.com/pipelines/github/instaclustr/cassandra/4287/workflows/3db92b5a-3faf-440d-9b31-c40e56fb0778]
> Remove lock contention generated by getCapacity function in SSTableReader
> -------------------------------------------------------------------------
>
> Key: CASSANDRA-19429
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19429
> Project: Cassandra
> Issue Type: Bug
> Components: Local/SSTable
> Reporter: Dipietro Salvatore
> Assignee: Dipietro Salvatore
> Priority: Normal
> Fix For: 4.0.x, 4.1.x
>
> Attachments: Screenshot 2024-02-26 at 10.27.10.png, Screenshot
> 2024-02-27 at 11.29.41.png, Screenshot 2024-03-19 at 15.22.50.png,
> asprof_cass4.1.3__lock_20240216052912lock.html,
> image-2024-03-08-15-51-30-439.png, image-2024-03-08-15-52-07-902.png
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> Profiling Cassandra 4.1.3 on large AWS instances, a high number of lock
> acquires is measured in the `getCapacity` function from
> `org/apache/cassandra/cache/InstrumentingCache` (1.9M lock acquires per 60
> seconds). Based on our tests on r8g.24xlarge instances (using Ubuntu 22.04),
> this limits the CPU utilization of the system to under 50% when testing at
> full load and therefore limits the achieved throughput.
> Removing the lock contention from the SSTableReader.java file by replacing
> the call to `getCapacity` with `size` achieves up to 2.95x increase in
> throughput on r8g.24xlarge and 2x on r7i.24xlarge:
> |Instance type|Cass 4.1.3|Cass 4.1.3 patched|
> |r8g.24xlarge|168k ops|496k ops (2.95x)|
> |r7i.24xlarge|153k ops|304k ops (1.98x)|
>
> Instructions to reproduce:
> {code:java}
> ## Requirements for Ubuntu 22.04
> sudo apt install -y ant git openjdk-11-jdk
> ## Build and run
> CASSANDRA_USE_JDK11=true ant realclean && CASSANDRA_USE_JDK11=true ant jar &&
> CASSANDRA_USE_JDK11=true ant stress-build && rm -rf data && bin/cassandra -f
> -R
> # Run
> bin/cqlsh -e 'drop table if exists keyspace1.standard1;' && \
> bin/cqlsh -e 'drop keyspace if exists keyspace1;' && \
> bin/nodetool clearsnapshot --all && tools/bin/cassandra-stress write
> n=10000000 cl=ONE -rate threads=384 -node 127.0.0.1 -log file=cload.log
> -graph file=cload.html && \
> bin/nodetool compact keyspace1 && sleep 30s && \
> tools/bin/cassandra-stress mixed ratio\(write=10,read=90\) duration=10m
> cl=ONE -rate threads=406 -node localhost -log file=result.log -graph
> file=graph.html
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]