You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Michael Semb Wever (Jira)" <ji...@apache.org> on 2026/10/12 08:42:00 UTC

[jira] (CASSANDRA-21699) InMemoryTrie reads the row overhead property for its size limit

    [ https://issues.apache.org/jira/browse/CASSANDRA-21699 ]


    Michael Semb Wever deleted comment on CASSANDRA-21699:
    ------------------------------------------------

was (Author: michaelsembwever):
CI results.

*{{mck/\CASSANDRA-21699/5.0}}*: UNSTABLE, [cassandra-5.0 #29|https://astro-cass.ci/job/cassandra-5.0/29] at [0bc099cb8d06|https://github.com/thelastpickle/cassandra/commit/0bc099cb8d0687fe6e23a634fa72df92b0c204dd], profile pre-commit.  Passed 50547 – Failed 1 – Skipped 931.
1 failure,
* unproven, 1 failure: [dtest-latest.cqlsh_tests.test_cqlsh_copy.TestCqlshCopy.test_bulk_round_trip_with_timeouts|https://astro-cass.ci/job/cassandra-5.0/29/testReport/dtest-latest.cqlsh_tests.test_cqlsh_copy/TestCqlshCopy/]
[Cassandra-5.0|https://butler.cassandra.apache.org/#/ci/upstream/jobs/branch/cassandra-5.0] recent failure counts: [#635|https://ci-cassandra.apache.org/job/Cassandra-5.0/635/] 8, [#636|https://ci-cassandra.apache.org/job/Cassandra-5.0/636/] 0, [#637|https://ci-cassandra.apache.org/job/Cassandra-5.0/637/] 15, [#638|https://ci-cassandra.apache.org/job/Cassandra-5.0/638/] 7, [#672|https://ci-cassandra.apache.org/job/Cassandra-5.0/672/] 16.

*{{mck/\CASSANDRA-21699/6.0}}*: UNSTABLE, [cassandra-6.0 #71|https://astro-cass.ci/job/cassandra-6.0/71] at [69a204366182|https://github.com/thelastpickle/cassandra/commit/69a2043661826f4a3e95ac68ba2166d0b8233d0a], profile pre-commit.  Passed 110765 – Failed 10 – Skipped 1746.
10 failures,
* unproven, 2 failures: [simulator.test.ShortAccordSimulationTest.simulationTest|https://astro-cass.ci/job/cassandra-6.0/71/testReport/org.apache.cassandra.simulator.test/ShortAccordSimulationTest/], [simulator.test.ShortPaxosSimulationTest.selfReconcileTest|https://astro-cass.ci/job/cassandra-6.0/71/testReport/org.apache.cassandra.simulator.test/ShortPaxosSimulationTest/]
* flaky, 8 failures: [distributed.test.accord.AccordDeleteCommandStoreTest.deleteCommandStoresTest|https://butler.cassandra.apache.org/#/ci/upstream/workflow/Cassandra-6.0/failure/org.apache.cassandra.distributed.test.accord/AccordDeleteCommandStoreTest/deleteCommandStoresTest], [distributed.test.accord.InteropAccordCQLTest.testCASSimulatorLite|https://butler.cassandra.apache.org/#/ci/upstream/workflow/Cassandra-6.0/failure/org.apache.cassandra.distributed.test.accord/InteropAccordCQLTest/testCASSimulatorLite], [fuzz.topology.AccordTopologyMixupTest.test|https://butler.cassandra.apache.org/#/ci/upstream/workflow/Cassandra-6.0/failure/org.apache.cassandra.fuzz.topology/AccordTopologyMixupTest/test], [simulator.test.AccordHarrySimulationTest.test|https://butler.cassandra.apache.org/#/ci/upstream/workflow/Cassandra-6.0/failure/org.apache.cassandra.simulator.test/AccordHarrySimulationTest/test], [simulator.test.EpochStressTest.manyEpochsAndAccordConverges|https://butler.cassandra.apache.org/#/ci/upstream/workflow/Cassandra-6.0/failure/org.apache.cassandra.simulator.test/EpochStressTest/manyEpochsAndAccordConverges], [simulator.test.SingleNodeSingleTableASTTest.accordFull|https://butler.cassandra.apache.org/#/ci/upstream/workflow/Cassandra-6.0/failure/org.apache.cassandra.simulator.test/SingleNodeSingleTableASTTest/accordFull], [simulator.test.SingleNodeSingleTableASTTest.accordMixedReads|https://butler.cassandra.apache.org/#/ci/upstream/workflow/Cassandra-6.0/failure/org.apache.cassandra.simulator.test/SingleNodeSingleTableASTTest/accordMixedReads], [simulator.test.TrivialSimulationTest.trivialTest|https://butler.cassandra.apache.org/#/ci/upstream/workflow/Cassandra-6.0/failure/org.apache.cassandra.simulator.test/TrivialSimulationTest/trivialTest]
[Cassandra-6.0|https://butler.cassandra.apache.org/#/ci/upstream/jobs/branch/cassandra-6.0] recent failure counts: [#86|https://ci-cassandra.apache.org/job/Cassandra-6.0/86/] 30, [#87|https://ci-cassandra.apache.org/job/Cassandra-6.0/87/] 25, [#88|https://ci-cassandra.apache.org/job/Cassandra-6.0/88/] 20, [#89|https://ci-cassandra.apache.org/job/Cassandra-6.0/89/] 38, [#90|https://ci-cassandra.apache.org/job/Cassandra-6.0/90/] 19.

*{{mck/\CASSANDRA-21699/trunk}}*: UNSTABLE, [cassandra #36|https://astro-cass.ci/job/cassandra/36] at [9e1fdef873db|https://github.com/thelastpickle/cassandra/commit/9e1fdef873dbad0fb42b5df0dba02b65b90283c6], profile pre-commit.  Passed 111168 – Failed 13 – Skipped 1746.
13 failures,
* unproven, 4 failures: [db.compaction.CompactionStrategyManagerTest.testAutomaticUpgradeConcurrency|https://astro-cass.ci/job/cassandra/36/testReport/org.apache.cassandra.db.compaction/CompactionStrategyManagerTest/], [distributed.test.accord.AccordRecoverFromAvailabilityLossTest.replaceWithAvailabilityLossTest|https://astro-cass.ci/job/cassandra/36/testReport/org.apache.cassandra.distributed.test.accord/AccordRecoverFromAvailabilityLossTest/], [dtest-latest.write_failures_test.TestWriteFailures.test_counter|https://astro-cass.ci/job/cassandra/36/testReport/dtest-latest.write_failures_test/TestWriteFailures/], [simulator.test.ShortPaxosSimulationTest.selfReconcileTest|https://astro-cass.ci/job/cassandra/36/testReport/org.apache.cassandra.simulator.test/ShortPaxosSimulationTest/]
* flaky, 9 failures: [distributed.test.accord.InteropAccordCQLTest.testCASSimulatorLite|https://butler.cassandra.apache.org/#/ci/upstream/workflow/Cassandra-trunk/failure/org.apache.cassandra.distributed.test.accord/InteropAccordCQLTest/testCASSimulatorLite] (3 times), [fuzz.topology.HarryOnAccordTopologyMixupTest.test|https://butler.cassandra.apache.org/#/ci/upstream/workflow/Cassandra-trunk/failure/org.apache.cassandra.fuzz.topology/HarryOnAccordTopologyMixupTest/test], [simulator.test.AccordHarrySimulationTest.test|https://butler.cassandra.apache.org/#/ci/upstream/workflow/Cassandra-trunk/failure/org.apache.cassandra.simulator.test/AccordHarrySimulationTest/test], [simulator.test.EpochStressTest.manyEpochsAndAccordConverges|https://butler.cassandra.apache.org/#/ci/upstream/workflow/Cassandra-trunk/failure/org.apache.cassandra.simulator.test/EpochStressTest/manyEpochsAndAccordConverges], [simulator.test.ShortAccordSimulationTest.simulationTest|https://butler.cassandra.apache.org/#/ci/upstream/workflow/Cassandra-trunk/failure/org.apache.cassandra.simulator.test/ShortAccordSimulationTest/simulationTest], [simulator.test.SingleNodeSingleTableASTTest.accordFull|https://butler.cassandra.apache.org/#/ci/upstream/workflow/Cassandra-trunk/failure/org.apache.cassandra.simulator.test/SingleNodeSingleTableASTTest/accordFull], [simulator.test.SingleNodeSingleTableASTTest.accordMixedReads|https://butler.cassandra.apache.org/#/ci/upstream/workflow/Cassandra-trunk/failure/org.apache.cassandra.simulator.test/SingleNodeSingleTableASTTest/accordMixedReads]
[Cassandra-trunk|https://butler.cassandra.apache.org/#/ci/upstream/jobs/branch/trunk] recent failure counts: [#2549|https://ci-cassandra.apache.org/job/Cassandra-trunk/2549/] 58, [#2550|https://ci-cassandra.apache.org/job/Cassandra-trunk/2550/] 34, [#2551|https://ci-cassandra.apache.org/job/Cassandra-trunk/2551/] 38, [#2553|https://ci-cassandra.apache.org/job/Cassandra-trunk/2553/] 0, [#2555|https://ci-cassandra.apache.org/job/Cassandra-trunk/2555/] 29.

Attached: [^ci_summary_thelastpickle_mck-CASSANDRA-21699-5.0_29.html], [^results_details_thelastpickle_mck-CASSANDRA-21699-5.0_29.tar.xz], [^ci_summary_thelastpickle_mck-CASSANDRA-21699-6.0_71.html], [^results_details_thelastpickle_mck-CASSANDRA-21699-6.0_71.tar.xz], [^ci_summary_thelastpickle_mck-CASSANDRA-21699-trunk_36.html], [^results_details_thelastpickle_mck-CASSANDRA-21699-trunk_36.tar.xz]


> InMemoryTrie reads the row overhead property for its size limit
> ---------------------------------------------------------------
>
>                 Key: CASSANDRA-21699
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21699
>             Project: Apache Cassandra
>          Issue Type: Bug
>          Components: Local/Memtable
>            Reporter: Michael Semb Wever
>            Priority: Normal
>             Fix For: 5.0.x, 6.0.x, 7.x
>
>         Attachments: ci_summary_thelastpickle_mck-CASSANDRA-21699-5.0_29.html, ci_summary_thelastpickle_mck-CASSANDRA-21699-6.0_71.html, ci_summary_thelastpickle_mck-CASSANDRA-21699-trunk_36.html, results_details_thelastpickle_mck-CASSANDRA-21699-5.0_29.tar.xz, results_details_thelastpickle_mck-CASSANDRA-21699-6.0_71.tar.xz, results_details_thelastpickle_mck-CASSANDRA-21699-trunk_36.tar.xz
>
>
> {{InMemoryTrie}} reads {{cassandra.memtable.row_overhead_size}} for its allocated size threshold:
> {code:java}
> int limitInMB = CassandraRelevantProperties.MEMTABLE_OVERHEAD_SIZE.getInt(2048 * 10 / 11);
> if (limitInMB < 1 || limitInMB > 2047)
>     throw new AssertionError(...);
> {code}
> That property is a byte count that {{SkipListMemtable}} reads for its per-row overhead, and the trie reads the same value as a megabyte count, so one property drives two unrelated settings. An operator who tunes the row overhead moves the trie threshold as well, and a row overhead above 2047 makes the class initialiser throw an {{AssertionError}}.
> {{SimulationRunner}} shows the effect in the tree: it sets the property to 100 for the row overhead, which cuts the trie threshold from 1861MB to 100MB, so a simulated trie memtable reports that it reached its limit after a twentieth of the memory the default allows.
> {{CassandraRelevantProperties}} already declares {{MEMTABLE_TRIE_SIZE_LIMIT}} ({{cassandra.trie_size_limit_mb}}), and no code reads it. The patch reads that property instead, and names it in the range message. The default threshold does not change. The static block becomes a package-private method, so a test can read the threshold more than once.
> Patch: [mck/CASSANDRA-21699/5.0|https://github.com/thelastpickle/cassandra/tree/mck/CASSANDRA-21699/5.0]
> Provenance: [eb272c8458|https://github.com/datastax/cassandra/commit/eb272c8458390d6e3bbbb557c62cf68b9967f04c] by [~mike_tr_adamson]. That commit makes the same property change and also lowers the default threshold to 1GB, which this patch leaves out, because the default belongs to a separate discussion. That commit carries no test; this patch adds one.



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