Commit Graph

30698 Commits

Author SHA1 Message Date
Stefan Miklosovic ef354d0d5e
Update Zstd library to 1.5.7-1
patch by Stefan Miklosovic; reviewed by Yifan Cai for CASSANDRA-20367
2025-03-06 14:19:01 +01:00
Jordan West 4d29990c47 Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Add read ahead buffer for scans of compressed data files
2025-03-05 15:38:20 -08:00
Jordan West a09d5240ab Add read ahead buffer for scans of compressed data files
Patch by Jordan West, Jon Haddad; Reviewed by David Capwell, Caleb Rackliffe, Dmitry Konstantinov for CASSANDRA-15452
2025-03-05 15:37:07 -08:00
Bernardo Botella Corbi 58b7ebfa4b Add OCTET_LENGTH constraint
patch by Bernardo Botella; reviewed by Stefan Miklosovic for CASSANDRA-20340
2025-03-05 10:12:52 -08:00
Ariel Weisberg fa3542da9c Merge branch 'cassandra-5.0' into trunk 2025-03-04 18:58:44 -05:00
Ariel Weisberg 4edf79a263 Ninja add missing license to IntervalTreeTest 2025-03-04 18:58:16 -05:00
Ariel Weisberg 0d0a2b6d28 Merge branch 'cassandra-5.0' into trunk 2025-03-04 17:11:52 -05:00
Ariel Weisberg 20562d10a0 Improve IntervalTree build throughput
patch by Ariel Weisberg; reviewed by Marcus Eriksson for CASSANDRA-19596
2025-03-04 17:10:43 -05:00
Dmitry Konstantinov eed4fbc8f7 Reduce heap memory allocations in different places along the hot write path
Avoid iterator allocations if possible
Handle typical cases (such as a single row, single table writes) more efficiently
Add fast paths for typical scenarios (like absense of views and triggers)
Memorize things which can be computed once

Patch by Dmitry Konstantinov; reviewed by Chris Lohfink, Michael Semb Wever, Vladimir Sitnikov for CASSANDRA-20167
2025-03-04 22:33:14 +03:00
maulin-vasavada 37fe4b679c
Provide keystore_password_file and truststore_password_file options to read credentials from a file
patch by Maulin Vasavada; reviewed by Stefan Miklosovic, Maxwell Guo for CASSANDRA-13428
2025-03-04 12:33:41 +01:00
Marcus Eriksson ca227d82ba Unregistering a node should also remove it from tokenMap if it is there and recalculate the placements
Patch by marcuse; reviewed by Sam Tunnicliffe for CASSANDRA-20346
2025-03-03 08:49:05 +01:00
Marcus Eriksson 369daf56bc Fix PartitionUpdate.isEmpty deserialization issue to avoid potential EOFException
Patch by marcuse; reviewed by Sam Tunnicliffe for CASSANDRA-20345
2025-03-03 08:46:11 +01:00
Marcus Eriksson 417bb21d2e Avoid adding LEFT nodes to tokenMap on upgrade from gossip
Patch by marcuse; reviewed by Sam Tunnicliffe for CASSANDRA-20344
2025-03-03 08:46:06 +01:00
Marcus Eriksson 2bc24da841 Allow empty placements when deserializing cluster metadata
Patch by marcuse; reviewed by Sam Tunnicliffe for CASSANDRA-20343
2025-03-03 08:39:32 +01:00
Marcus Eriksson 415eaffb9c Reduce heap pressure when initializing CMS
Patch by marcuse; reviewed by Sam Tunnicliffe for CASSANDRA-20267
2025-03-03 08:37:33 +01:00
Stefan Miklosovic d276dec0ad
Deduplicate constraint validation logic for supported types
patch by Stefan Miklosovic; reviewed by Bernardo Botella for CASSANDRA-20371
2025-02-28 13:56:56 +01:00
Francisco Guerrero 773b3a3911 ninja-fix CHANGES.txt add missing entry for CASSANDRA-20320 2025-02-27 14:43:44 -08:00
Abe Ratnofsky a80663de61 Fix NoSuchElementException on dropped keyspace during Paxos cleanup
patch by Abe Ratnofsky; reviewed by Francisco Guerrero, Sam Tunnicliffe for CASSANDRA-20320
2025-02-27 14:37:16 -08:00
Abe Ratnofsky f1bec5d0c5 Improve performance of DistributedSchema.validate for large schemas
patch by Abe Ratnofsky; reviewed by Caleb Rackliffe, Benedict Elliott Smith, Matt Byrd, Sam Tunnicliffe for CASSANDRA-20360
2025-02-27 12:28:52 -06:00
Caleb Rackliffe f81ece5cd0 Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Avoid limit on RFP fetch in the case of an unresolved static row
2025-02-26 17:51:23 -06:00
Caleb Rackliffe 5483165938 Avoid limit on RFP fetch in the case of an unresolved static row
patch by Caleb Rackliffe; reviewed by David Capwell and Zhao Yang for CASSANDRA-20323
2025-02-26 17:41:15 -06:00
Stefan Miklosovic a51344c611
Add JSON constraint
patch by Stefan Miklosovic; reviewed by Bernardo Botella for CASSANDRA-20273
2025-02-26 16:08:13 +01:00
Stefan Miklosovic 980047657d
Prevent invalid constraint combinations
patch by Stefan Miklosovic; reviewed by Bernardo Botella for CASSANDRA-20330
2025-02-26 15:49:15 +01:00
Maxwell Guo 989f0414b7 Support CREATE TABLE LIKE with INDEXES
patch by Maxwell Guo; reviewed by Stefan Miklosovic, Sam Tunnicliffe for CASSANDRA-19965
2025-02-26 16:14:43 +08:00
Stefan Miklosovic ffdc4b79a4
Merge branch 'cassandra-5.0' into trunk 2025-02-25 09:43:23 +01:00
Stefan Miklosovic 378c93de90
Include materialized views to the output of DESCRIBE TABLE statements
patch by Stefan Miklosovic; reviewed by Brandon Williams for CASSANDRA-20365
2025-02-25 09:39:44 +01:00
Mick Semb Wever 8892fac745
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Autogenerate Native protocol specifications documentation
2025-02-24 21:06:27 +01:00
tengu-alt 17de6a67a2
Autogenerate Native protocol specifications documentation
Uses cqlprotodoc from cassandra-website to generate the versioned native protocol spec html pages.
Uses process-native-protocol-specs-in-docker.sh as a wrapper around this to also generate the native protocol spec adoc page  that includes all the versions and makes each header navigable. This is executed as part of the existing `ant gen-asciidoc` and doc/Makefile.

 patch by Olexandr Luzhniy; reviewed by Mick Semb Wever for CASSANDRA-19915
2025-02-24 21:05:24 +01:00
Sarma Pydipally b854fa3e22
Replace some of existing images with ones having better look and resolution
patch by Sarma Pydipally; reviewed by Bernardo Botella, Stefan Miklosovic, Mick Semb Wever for CASSANDRA-20169
2025-02-24 10:45:40 +01:00
Dmitry Konstantinov 2daa0f0ba0 Fix flaky ReadSpeculationTest: with TCM the second replica in a read plan can be different, it depends on an order of adding nodes to a cluster.
To fix it NetworkTopologyProximity implementation is adjusted using ByteBuddy to make a predictable order of nodes to read (the same idea as in python read repair dtests is used). Also, dynamic snitch is disabled to avoid re-ordering of replicas in a read plan by it. Logging of actual configuration in java dtests is added to simplify troubleshooting (the default logic does not print it because logging is initialized in tests later).

Patch by Dmitry Konstantinov; reviewed by Brandon Williams,Stefan Miklosovic for CASSANDRA-20251
2025-02-23 10:01:16 +03:00
mck b7f8f69799
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Fix SimpleClient ability to release acquired capacity
2025-02-22 16:36:37 +01:00
mck f59a90b895
Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Fix SimpleClient ability to release acquired capacity
2025-02-22 16:35:22 +01:00
Sam Tunnicliffe 291cbcccf6
Fix SimpleClient ability to release acquired capacity
patch by Sam Tunnicliffe; reviewed by Dmitry Konstantinov, Mick Semb Wever for CASSANDRA-20202
2025-02-22 16:33:05 +01:00
mck 346e096529
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Heap and GC jvm flags improvements
2025-02-22 11:06:00 +01:00
mck 0034a133fa
Heap and GC jvm flags improvements
G1 can rely on `-XX:G1NewSizePercent=50` to always floor the young generation's size to 50% of the heap. (In production this can be raised to 66% for optimal performance.)

Fixing the young generation size with `-Xmn` is only applicable to CMS, so move it to the appropriate section.

When using G1, we can automatically set `-XX:ParallelGCThreads` and `-XX:ConcGCThreads` to the number of system cpu cores.

The auto-generated heap size is now half the server's physical RAM, capped at 16G for CMS and 31G for G1.

Increase MaxTenuringThreshold from 1 to 2, as evidence has shown it has no cost (over values of zero or one), but can have significant benefits in keeping objects in the young generation. While, values above 2 don't have any noticeable benefit.

Always set CASSANDRA_HEAPDUMP_DIR, default it to $CASSANDRA_LOG_DIR, to avoid hprof filling up unexpected disk volumes. Assumption here is that the logs directory is large enough to handle these dumps, and/or operators are monitoring these directories more than other randon/unknown directories.

 patch by Mick Semb Wever; reviewed by Jon Haddad for CASSANDRA-20296
2025-02-22 10:59:42 +01:00
Stefan Miklosovic 0bf51f6e48
Merge branch 'cassandra-5.0' into trunk 2025-02-22 08:07:56 +01:00
Daniel Lenski 027689ae48
Fix unparseable YAML in default cassandra.yaml when uncommented for downstream tooling
The presence of an extra space the `:` in `key: value` pairs
makes the default `conf/cassandra.yaml` file included in
this repository unparseable and non-functional for some downstream tooling.

patch by Daniel Lenski; reviewed by Stefan Miklosovic, Brandon Williams for CASSANDRA-20359
2025-02-22 08:05:23 +01:00
Brad Schoening 486a627603
Fix escaping and correct some language syntax in definitions.adoc
patch by Brad Schoening; reviewed by Stefan Miklosovic for CASSANDRA-20203
2025-02-21 21:41:10 +01:00
Brad Schoening 8cd52f18a6
Improve documentation in cql_singlefile.adoc
patch by Brad Schoening; reviewed by Stefan Miklosovic for CASSANDRA-20354
2025-02-21 21:29:05 +01:00
Sam Tunnicliffe 1a6b8e0628 Invalidate affected prepared stmts on every table metadata change
Where MVs are also affected by a table alteration make sure we correctly
set the epoch of the TableMetadata enclosed in the ViewMetadata

Patch by Sam Tunnicliffe and Marcus Eriksson; reviewed by Marcus
Eriksson for CASSANDRA-20318

Co-authored-by: Sam Tunnicliffe <samt@apache.org>
Co-authored-by: Marcus Eriksson <marcuse@apache.org>
2025-02-20 15:12:47 +00:00
mck 75ae845344
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Adjust 5.0 and trunk Jenkinsfile's splits configuration
2025-02-18 12:23:38 +01:00
Mick Semb Wever ba16a082f3
Adjust 5.0 and trunk Jenkinsfile's splits configuration
More splits for dtest-upgrades and all variants of the (unit) "test" type.
Less splits for long-test, dtest-larges, and jvm-dtest-upgrade.
And some debug on xml test files produced in each split.

 patch by Mick Semb Wever; reviewed by Brandon Williams, Maxim Muzafarov, Dmitry Konstantinov for CASSANDRA-20311
2025-02-18 12:22:54 +01:00
Bernardo Botella Corbi 95180bab15 Adds new size Guardrails
Patch by Bernardo Botella Corbi; Reviewed by Jordan West, Yifan Cai for CASSANDRA-19677
2025-02-17 12:28:55 -08:00
Marcus Eriksson ebbdd8bb81 Make it possible to abort all kinds of multi step operations
Patch by marcuse; reviewed by Sam Tunnicliffe for CASSANDRA-20217
2025-02-17 13:14:50 +01:00
Stefan Miklosovic f2c6ee24ed
Do not leak non-Java exceptions when calling snapshot operations via JMX
patch by Stefan Miklosovic; reviewed by Francisco Guerrero for CASSANDRA-20335
2025-02-17 09:14:42 +01:00
Stefan Miklosovic 1630ef2cec
Implement NOT_NULL constraint
patch by Stefan Miklosovic; reviewed by Bernardo Botella, Dinesh Joshi for CASSANDRA-20276

Co-authored-by: Bernardo Botella <bernardo.botella@apple.com>
2025-02-17 09:06:33 +01:00
Caleb Rackliffe e0c7d7b938 Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Avoid fetching entire partitions on unresolved static rows in RFP when no static column predicates exist
2025-02-12 17:37:52 -06:00
Caleb Rackliffe bd99331bf2 Avoid fetching entire partitions on unresolved static rows in RFP when no static column predicates exist
patch by Caleb Rackliffe; reviewed by David Capwell for CASSANDRA-20243
2025-02-12 17:29:22 -06:00
Bereng 0e41c80c81 Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Long running repairs autofail prematurely
2025-02-12 11:16:37 +01:00
Bereng 026f73eacb Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Long running repairs autofail prematurely
2025-02-12 11:14:49 +01:00