Commit Graph

15060 Commits

Author SHA1 Message Date
Maxim Muzafarov 9a30a3469c
Add configuration for sorted imports in source files
Patch by Maxim Muzafarov; Reviewed by Michael Semb Wever for CASSANDRA-17925
2025-12-30 22:34:12 +01:00
Stefan Miklosovic b08da36770
Change the eager reference counting of compression dictionaries to lazy
patch by Stefan Miklosovic; reviewed by Yifan Cai, Jyothsna Konisa for CASSANDRA-21074
2025-12-20 15:03:25 +01:00
Nitsan Wakart ff78780d61 Add cursor based optimized compaction path
Adds a compaction implementation utilizing new fixed allocation SSTable reader/writer implementations, and other purpose built code, leading to improved efficiencies.

patch by Nitsan Wakart; reviewed by Branimir Lambov, Dmitry Konstantinov for CASSANDRA-20918
2025-12-19 12:45:25 -05:00
Abe Ratnofsky 66a7a36647 Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Switch lz4-java to at.yawk.lz4 version due to CVE
2025-12-18 11:02:13 -08:00
Abe Ratnofsky 6fd83986e9 Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Switch lz4-java to at.yawk.lz4 version due to CVE
2025-12-18 10:59:09 -08:00
Abe Ratnofsky 2d0fda4511 Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Switch lz4-java to at.yawk.lz4 version due to CVE
2025-12-18 10:54:14 -08:00
Abe Ratnofsky ec3b425c38 Switch lz4-java to at.yawk.lz4 version due to CVE
Patch by Abe Ratnofsky; reviewed by Jyothsna Konisa, Dmitry Konstantinov for CASSANDRA-21052
2025-12-18 10:51:26 -08:00
Sam Tunnicliffe ad3f0e8f41 Ensure that gossip state for LEFT nodes is expired eventually
By default the expiry time is calculated on each peer independently. It can be
made to converge by disabling gossip quarantine using the configuration setting
gossip_quarantine_disabled or via a hotprop on GossiperMBean.

Patch by Sam Tunnicliffe; reviewed by Marcus Eriksson for CASSANDRA-21035
2025-12-18 10:04:17 +00:00
Lukasz Antoniak 25c7c71b19 Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Fix CQLSSTableWriter serialization of vector of date and time patch by Lukasz Antoniak; reviewed by Andres de la Pena, Yifan Cai for CASSANDRA-20979
2025-12-18 07:41:44 +01:00
Lukasz Antoniak 0136fc9c8f Fix CQLSSTableWriter serialization of vector of date and time
patch by Lukasz Antoniak; reviewed by Andres de la Pena, Yifan Cai for CASSANDRA-20979
2025-12-18 07:35:45 +01:00
Dmitry Konstantinov c295c33a26 Optimize UTF8Validator.validate for ASCII prefixed Strings
Use a plain loop to check if it is ASCII symbol before going into more complicated UTF8 parsing.
Avoid ValueAccessor to get extra boost for the ASCII check, especially in non-monomorphic cases.

Patch by Dmitry Konstantinov; reviewed by Jyothsna Konisa, Stefan Miklosovic for CASSANDRA-21075
2025-12-17 13:01:18 +00:00
Dmitry Konstantinov d7bd75303f Switch LatencyMetrics to use ThreadLocalTimer/ThreadLocalCounter
Patch by Dmitry Konstantinov; reviewed by Benedict Elliott Smith, Jyothsna Konisa for CASSANDRA-21080
2025-12-17 10:38:42 +00:00
David Capwell 9c8ab8809d Accord: write rejections would be returned to users as server errors rather than INVALID and TxnReferenceOperation didn't handle all collections prperly
patch by David Capwell; reviewed by Benedict Elliott Smith, Caleb Rackliffe, Jyothsna Konisa for CASSANDRA-21061
2025-12-15 16:32:07 -08:00
Dmitry Konstantinov 8a72868066 Use byte[] directly in QueryOptions instead of ByteBuffer and convert them to ArrayCell instead of BufferCell.
Additionally replace List with array for bind values (we know the size in advance during a decoding), so in total: List<List> is replaced with byte[][] QueryOptions classes support both ways to get values now: using an old API with ByteBuffer and a new API with byte[].

Patch by Dmitry Konstantinov; reviewed by Michael Semb Wever for CASSANDRA-20166
2025-12-15 10:58:43 +00:00
Alan Wang 25390eb8d5 Log queries scanning too many SSTables per read
patch by Alan Wang; reviewed by David Capwell, Marcus Eriksson for CASSANDRA-21048
2025-12-12 14:03:41 -08:00
Sunil Ramchandra Pawar a84abe7ba1 Extend nodetool verify to (optionally) validate SAI files
patch by Sunil Ramchandra Pawar; reviewed by Caleb Rackliffe and David Capwell for CASSANDRA-20949
2025-12-12 13:22:06 -06:00
Stefan Miklosovic a14406022d
Merge branch 'cassandra-5.0' into trunk 2025-12-11 11:24:51 +01:00
Stefan Miklosovic f894b8440d
Merge branch 'cassandra-4.1' into cassandra-5.0 2025-12-11 11:10:58 +01:00
Stefan Miklosovic efa0ead445
Merge branch 'cassandra-4.0' into cassandra-4.1 2025-12-11 11:02:05 +01:00
Mikołaj Diakowski 4c33f1f2d7
Restrict BytesType compatibility to scalar types only
Converting collections or UDTs to raw bytes is nonsensical - it
allows reading raw serialized bytes which have no meaningful
interpretation.

patch by Mikołaj Diakowski; reviewed by Stefan Miklosovic, Brandon Williams for CASSANDRA-20982
2025-12-11 10:53:29 +01:00
Stefan Miklosovic f7fab8a60a
Merge branch 'cassandra-5.0' into trunk 2025-12-10 12:41:51 +01:00
Stefan Miklosovic bbbf70a9a2
Merge branch 'cassandra-4.1' into cassandra-5.0 2025-12-10 12:39:43 +01:00
ireath c79f176685
Fix disk usage guardrail disablement when failure threshold is reached
patch by Isaac Reath; reviewed by Jyothsna Konisa, Stefan Miklosovic for CASSANDRA-21057
2025-12-10 12:24:22 +01:00
Stefan Miklosovic 39019f005b
Merge branch 'cassandra-5.0' into trunk 2025-12-10 12:00:59 +01:00
Stefan Miklosovic ced50b0b30
Merge branch 'cassandra-4.1' into cassandra-5.0 2025-12-10 11:58:42 +01:00
Stefan Miklosovic 73648c8215
Merge branch 'cassandra-4.0' into cassandra-4.1 2025-12-10 11:56:34 +01:00
Stefan Miklosovic 34c3736c9e
Backport fix to nodetool gcstats output for direct memory
patch by Stefan Miklosovic; reviewed by Brad Schoening for CASSANDRA-21037
2025-12-10 11:21:16 +01:00
Yifan Cai 21382e6874 Fix CompressionDictionary being closed while still in use
Patch by Yifan Cai; Reviewed by Stefan Miklosovic for CASSANDRA-21047
2025-12-08 14:37:13 -08:00
David Capwell c08666567d When updating a multi cell collection element, if the update is rejected then the shared Row.Builder is not freed causing all future mutations to be rejected
patch by David Capwell; reviewed by Bernardo Botella Corbi, Caleb Rackliffe, Dmitry Konstantinov for CASSANDRA-21055
2025-12-05 16:14:40 -08:00
jkonisa c4e1e2c8a8 CASSANDRA-21046 Schema annotations escape validation on CREATE and ALTER DDL statements
Patch by Jyothsna Konisa; Reviewed by Sam Tunnicliffe, Yifan Cai, Stefan Miklosovic for CASSANDRA-21046
2025-12-05 12:00:39 -08:00
Marcus Eriksson 2b5124d3f6 Merge branch 'cassandra-5.0' into trunk 2025-12-05 12:59:23 +01:00
Marcus Eriksson d17e6d1c6a Merge branch 'cassandra-4.1' into cassandra-5.0 2025-12-05 12:57:49 +01:00
Marcus Eriksson cbf974f2f0 Merge branch 'cassandra-4.0' into cassandra-4.1 2025-12-05 12:57:31 +01:00
Marcus Eriksson 76a7e43613 ArrayIndexOutOfBoundsException with repaired data tracking and counters
Patch by marcuse; reviewed by Sam Tunnicliffe for CASSANDRA-20871
2025-12-05 12:55:59 +01:00
Dmitry Konstantinov a7a85c634a Calculate once and cache the result of ModificationStatement#requiresRead as a perf optimization
Patch by Dmitry Konstantinov; reviewed by Stefan Miklosovic for CASSANDRA-21040
2025-12-03 19:14:52 +00:00
Marcus Eriksson b5f8ac2604 Update system schema tables with new distributed keyspace on upgrade
Patch by marcuse; reviewed by Sam Tunnicliffe for CASSANDRA-20872
2025-12-03 14:28:16 +01:00
Marcus Eriksson 7802743460 Fix issue when running cms reconfiguration with paxos repair disabled
Patch by marcuse; reviewed by Sam Tunnicliffe for CASSANDRA-20869
2025-12-03 14:27:21 +01:00
Alan Wang fd2986b8bc
Added additional parameter to JVM shutdown to allow for logs to be properly shutdown
patch by Alan Wang; reviewed by Abe Ratnofsky, Caleb Rackliffe for CASSANDRA-20978
2025-12-01 19:32:51 +01:00
Marcus Eriksson e1e39b074a Refactor the way we check if a transformation is allowed to be committed during upgrades
Patch by marcuse and Sam Tunnicliffe; reviewed by Sam Tunnicliffe for CASSANDRA-21043

Co-authored-by: Sam Tunnicliffe <samt@apache.org>
2025-12-01 10:39:25 +01:00
Marcus Eriksson 4ed54ecb2a Improve isGossipOnlyMember and location lookup performance
Patch by marcuse; reviewed by Sam Tunnicliffe for CASSANDRA-21039
2025-12-01 10:39:07 +01:00
Mick Semb Wever 53fff0034f
Further Improve debug around paused and disabled compaction
patch by Mick Semb Wever; reviewed by Paulo Motta for CASSANDRA-19728
2025-11-30 21:54:51 +01:00
Sam Tunnicliffe f2406b1070 Merge branch 'cassandra-5.0' into trunk 2025-11-28 11:12:04 +00:00
Sam Tunnicliffe f8f456f0f6 Fix default max interval calculation in FailureDetector
Patch by Sam Tunnicliffe; reviewed by Maxim Muzafarov and Stefan Miklosovic
for CASSANDRA-21025
2025-11-28 09:28:57 +00:00
ireath ce541b6ddf LegacyStateListener should call onRemove for gossip state listeners
Patch by Isaac Reath; reviewed by Sam Tunnicliffe and Paulo Motta for
CASSANDRA-21033
2025-11-28 07:46:45 +00:00
Sam Tunnicliffe 209288cebe Reject PrepareJoin if tokens already assigned
Patch by Sam Tunnicliffe; reviewed by Marcus Eriksson for CASSANDRA-21006
2025-11-25 17:44:57 +00:00
Sam Tunnicliffe 496959a8f2 Don't update registration status if node state for decommissioned peer is found with the same address
Patch by Sam Tunnicliffe; reviewed by Marcus Eriksson for CASSANDRA-21005
2025-11-25 16:15:10 +00:00
Sam Tunnicliffe ec7794f20f Avoid NPE when meta keyspace placements are empty before CMS is initialized
Patch by Sam Tunnicliffe; reviewed by Marcus Eriksson for CASSANDRA-21004
2025-11-25 16:13:42 +00:00
Sam Tunnicliffe 62bd9ab1ae Gossip entries for hibernating non-members don't block truncate
Patch by Sam Tunnicliffe; reviewed by Marcus Eriksson for CASSANDRA-21003
2025-11-25 16:13:05 +00:00
Sam Tunnicliffe 856db2afa0 Retry without time limit calculates wait time correctly
Patch by Sam Tunnicliffe; reviewed by Marcus Eriksson for CASSANDRA-21002
2025-11-25 16:10:36 +00:00
Sam Tunnicliffe 44f6a32718 AlterSchemaStatement with no effect locally isn't submitted to CMS
Patch by Sam Tunnicliffe; reviewed by Marcus Eriksson for CASSANDRA-21001
2025-11-25 16:09:34 +00:00