Skip to content

CNDB-15669: Fully off-heap memtable - #2308

Open
blambov wants to merge 70 commits into
main-5.0from
CNDB-15669
Open

CNDB-15669: Fully off-heap memtable#2308
blambov wants to merge 70 commits into
main-5.0from
CNDB-15669

Switch TrieMemtable to use BTreePartitionUpdate

810c60e
Select commit
Loading
Failed to load commit list.
sonarqube-dx-prod / SonarQube Code Analysis failed Aug 18, 2026 in 4m 13s

Quality Gate failed

Failed conditions
368 New issues

See analysis details on SonarQube

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE SonarQube for IDE

Annotations

Check warning on line 309 in src/java/org/apache/cassandra/db/tries/Cursor.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

Replace this assert with a proper check.

[S4274] Asserts should not be used to check the parameters of a public method
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=a66ad204-7670-49ad-a80a-3c09a40f5bbd&open=a66ad204-7670-49ad-a80a-3c09a40f5bbd

Check warning on line 483 in src/java/org/apache/cassandra/db/rows/TrieTombstoneMarker.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

Replace this assert with a proper check.

[S4274] Asserts should not be used to check the parameters of a public method
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=3c9697a5-95fb-4d8b-94ce-3a6250b8464c&open=3c9697a5-95fb-4d8b-94ce-3a6250b8464c

Check warning on line 165 in src/java/org/apache/cassandra/db/tries/TrieTailsIterator.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

Change the visibility of this constructor to "protected".

[S5993] Constructors of an "abstract" class should not be declared "public"
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=e1a42e85-366d-404d-8189-4921994b8bff&open=e1a42e85-366d-404d-8189-4921994b8bff

Check warning on line 39 in src/java/org/apache/cassandra/utils/bytecomparable/PreencodedByteComparable.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

This class overrides "equals()" and should therefore also override "hashCode()".

[S1206] "equals(Object obj)" and "hashCode()" should be overridden in pairs
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=c1076c3a-b494-45b2-8a97-244495679d91&open=c1076c3a-b494-45b2-8a97-244495679d91

Check warning on line 55 in src/java/org/apache/cassandra/db/rows/BufferCell.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

This block of commented-out lines of code should be removed.

[S125] Sections of code should not be commented out
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=123a248e-a1e3-4796-9a9f-c1daef31d9c4&open=123a248e-a1e3-4796-9a9f-c1daef31d9c4

Check warning on line 591 in src/java/org/apache/cassandra/db/tries/VerificationCursor.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

%n should be used in place of \n to produce the platform-specific line separator.

[S3457] Format strings should be used correctly
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=586f5f01-8e63-4e17-a29a-41f50ec24173&open=586f5f01-8e63-4e17-a29a-41f50ec24173

Check warning on line 268 in src/java/org/apache/cassandra/db/tries/TrieSetCursor.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

Extract the assignment out of this expression.

[S1121] Assignments should not be made from within sub-expressions
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=94b4435b-e5b3-43d6-a7cf-0e40a958a276&open=94b4435b-e5b3-43d6-a7cf-0e40a958a276

Check warning on line 1093 in src/java/org/apache/cassandra/db/memtable/TrieMemtable.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

Replace this assert with a proper check.

[S4274] Asserts should not be used to check the parameters of a public method
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=06a4e86b-6721-4a24-9b7c-814c2c536881&open=06a4e86b-6721-4a24-9b7c-814c2c536881

Check warning on line 729 in src/java/org/apache/cassandra/db/tries/InMemoryDeletionAwareTrie.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

Complete the task associated to this TODO comment.

[S1135] Track uses of "TODO" tags
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=237a6e56-6ced-43dd-b521-df95a6ee47e4&open=237a6e56-6ced-43dd-b521-df95a6ee47e4

Check warning on line 85 in src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

Take the required action to fix the issue indicated by this comment.

[S1134] Track uses of "FIXME" tags
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=5de39a06-93d6-4152-9b03-bafbc046471c&open=5de39a06-93d6-4152-9b03-bafbc046471c

Check warning on line 1585 in src/java/org/apache/cassandra/db/tries/InMemoryBaseTrie.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

Catch Exception instead of Throwable.

[S1181] Throwable and Error should not be caught
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=a84c1d8a-044d-4915-80f5-38841d48f062&open=a84c1d8a-044d-4915-80f5-38841d48f062

Check failure on line 60 in src/java/org/apache/cassandra/db/rows/CellData.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

Use static access with "org.apache.cassandra.db.rows.CellData" for "MAX_DELETION_TIME_2038_LEGACY_CAP".

[S3252] "static" base class members should not be accessed via derived types
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=7508429f-f2b4-4237-a980-2578e44f1543&open=7508429f-f2b4-4237-a980-2578e44f1543

Check warning on line 226 in src/java/org/apache/cassandra/db/tries/TrieTailsIterator.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

Reorder the modifiers to comply with the Java Language Specification.

[S1124] Modifiers should be declared in the correct order
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=681c5975-054a-4418-8cac-8ad837764650&open=681c5975-054a-4418-8cac-8ad837764650

Check warning on line 84 in src/java/org/apache/cassandra/db/partitions/TriePartitionUpdaterLegacyIndex.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

Replace this assert with a proper check.

[S4274] Asserts should not be used to check the parameters of a public method
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=c016f17a-f760-4aff-8bcb-505a82bc54f4&open=c016f17a-f760-4aff-8bcb-505a82bc54f4

Check failure on line 346 in src/java/org/apache/cassandra/db/tries/InMemoryTrie.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

Refactor this method to reduce its Cognitive Complexity from 25 to the 15 allowed.

[S3776] Cognitive Complexity of methods should not be too high
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=31d59d58-cabf-4d86-a6f0-6b213019f42c&open=31d59d58-cabf-4d86-a6f0-6b213019f42c

Check failure on line 302 in src/java/org/apache/cassandra/db/memtable/TrieMemtableStage1.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

Remove this usage of "super", it is annotated with @VisibleForTesting and should not be accessed from production code.

[S5803] Class members annotated with "@VisibleForTesting" should not be accessed from production code
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=c3d81108-ed99-45db-ae20-a9b5b6710a18&open=c3d81108-ed99-45db-ae20-a9b5b6710a18

Check warning on line 353 in test/unit/org/apache/cassandra/db/tries/PrefixTailTestBase.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

This block of commented-out lines of code should be removed.

[S125] Sections of code should not be commented out
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=dd56807f-607c-402a-bf56-0f5e45d12ee9&open=dd56807f-607c-402a-bf56-0f5e45d12ee9

Check warning on line 708 in src/java/org/apache/cassandra/db/rows/BTreeRow.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

Declare "updateCell" on a separate line.

[S1659] Multiple variables should not be declared on the same line
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=7d2f7049-2641-4154-b407-8c41eee70e0e&open=7d2f7049-2641-4154-b407-8c41eee70e0e

Check warning on line 115 in test/unit/org/apache/cassandra/db/tries/DeletionAwareTestBase.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

Complete the task associated to this TODO comment.

[S1135] Track uses of "TODO" tags
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=dca21c81-3124-4690-9e91-09a99e02b44e&open=dca21c81-3124-4690-9e91-09a99e02b44e

Check warning on line 497 in src/java/org/apache/cassandra/db/partitions/TrieBackedPartitionStage2.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

Provide the parametrized type for this generic.

[S3740] Raw types should not be used
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=2371918e-e976-40b0-9e91-7cca1905ccbf&open=2371918e-e976-40b0-9e91-7cca1905ccbf

Check warning on line 70 in test/unit/org/apache/cassandra/cql3/validation/miscellaneous/TombstonesTest.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

Rename this field "ORIGINAL_FAILURE_THRESHOLD" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.

[S3008] Static non-final field names should comply with a naming convention
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=590fd911-698f-4227-956e-bc1e9bbedf4a&open=590fd911-698f-4227-956e-bc1e9bbedf4a

Check warning on line 442 in src/java/org/apache/cassandra/db/tries/VerificationCursor.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

%n should be used in place of \n to produce the platform-specific line separator.

[S3457] Format strings should be used correctly
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=c90ea757-16b5-4c34-8db8-f0b8e4d63f28&open=c90ea757-16b5-4c34-8db8-f0b8e4d63f28

Check warning on line 83 in test/unit/org/apache/cassandra/db/tries/ConsistencyTestBase.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

Reorder the modifiers to comply with the Java Language Specification.

[S1124] Modifiers should be declared in the correct order
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=7e5eec7c-b0e9-41bb-b720-54e593cb7c93&open=7e5eec7c-b0e9-41bb-b720-54e593cb7c93

Check warning on line 1002 in src/java/org/apache/cassandra/db/rows/TrieBackedRow.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

Refactor this code to use the more specialised Functional Interface 'UnaryOperator<DeletionTime>'

[S4276] Functional Interfaces should be as specialised as possible
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=a11d2fc8-b28f-4228-bb34-bcd11827f4fe&open=a11d2fc8-b28f-4228-bb34-bcd11827f4fe

Check warning on line 582 in src/java/org/apache/cassandra/db/partitions/TrieBackedPartitionStage2.java

See this annotation in the file changed.

@sonarqube-dx-prod sonarqube-dx-prod / SonarQube Code Analysis

Constructor has 8 parameters, which is greater than 7 authorized.

[S107] Methods should not have too many parameters
 See more on https://sonarqube-prod.apps.wdc-sonarqube-prod.core.cirrus.ibm.com/project/issues?id=544478-247111689&pullRequest=2308&issues=19a698de-fdb8-4fb6-ab71-63779daa3dc4&open=19a698de-fdb8-4fb6-ab71-63779daa3dc4