Commit Graph

15132 Commits

Author SHA1 Message Date
mck ee273af1d6
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Add option to disable cqlsh history
2026-03-17 23:09:49 +01:00
mck be0b73ecba
Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Add option to disable cqlsh history
2026-03-17 23:08:14 +01:00
mck ec39ef3193
Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Add option to disable cqlsh history
2026-03-17 23:06:38 +01:00
Ekaterina Dimitrova b47179b7d4
Add option to disable cqlsh history
We can disable saving of the history either via command-line parameter --disable-history, or by setting disabled = True in the history section of the cqlshrc. Both options will read existing history, and just won't save new commands.

Update help and docs for cqlsh history.
Add startup info logline whenr history logging is enabled.
Add a fix for cqlshrc file path not correctly expanding.

Includes the Backport of
  Allows users to change cqlsh history location using env variable
  patch by Stefan Miklosovic; reviewed by Brandon Williams for CASSANDRA-17448

patch by Ekaterina Dimitrova; reviewed by Mick Semb Wever for CASSANDRA-XXX

Co-authored-by: Alex Ott alex.ott@datastax.com
Co-authored-by: Jaroslaw Grabowski jaroslaw.grabowski@datastax.com
2026-03-17 23:01:57 +01:00
Caleb Rackliffe 0bbddf610b Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Refactor SAI ANN query execution to use score ordered iterators for correctness and speed
2026-03-17 15:35:08 -05:00
Michael Marshall 23ec1c8a3f Refactor SAI ANN query execution to use score ordered iterators for correctness and speed
Rewrites ANN search query execution logic to more efficiently merge graph search results using
similarity score-ordered (descending) iterators to merge segments efficiently. Allows for reduced memory
consumption during queries, reduced impact of overwrites and tombstones, selective re-querying of
minimally necessary graphs, and reduced shuffling of PrimaryKey objects.

patch by Michael Marshall; reviewed by Caleb Rackliffe and Michael Semb Wever for CASSANDRA-20086
2026-03-17 15:14:13 -05:00
Sam Tunnicliffe 4454ab8699 Improve writePlacementsAllSettled performance in large clusters with many ongoing range movements
Only inflight MSOs which affect the local node need to be
applied to determine the settled local ranges

Patch by Sam Tunnicliffe; reviewed by Marcus Eriksson for
CASSANDRA-21144
2026-03-17 11:11:22 +00:00
mck 5f9de8ca13
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Rate limit password changes
2026-03-16 22:06:27 +01:00
mck a2e55684de
Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Rate limit password changes
2026-03-16 22:04:58 +01:00
mck 1cbdef6272
Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Rate limit password changes
2026-03-16 22:04:01 +01:00
mck 17c573f800
Rate limit password changes
Introduces property cassandra.role_password_update_interval_in_ms, with default value of 5000.
Logging added when passwords on roles are changed or are rate-limited.

 patch by Mick Semb Wever; reviewed by Doug Rohrer, Jeremiah Jordan for CASSANDRA-21202
2026-03-16 22:02:41 +01:00
Francisco Guerrero b584a43597 Disallow binding an identity to a superuser when the user is a regular user
patch by Francisco Guerrero; reviewed by Mick Semb Wever for CASSANDRA-21219
2026-03-16 13:32:20 -07:00
Sam Tunnicliffe 07885ef317 Make shadow gossip round parameters configurable for testing
Patch by Sam Tunnicliffe; reviewed by Marcus Eriksson for
CASSANDRA-21149
2026-03-16 17:58:46 +00:00
Sam Tunnicliffe 59d57e3eb7 Remove potential gossip deadlock during decommission
Remove unnecessary updating of local app state when leaving

Patch by Sam Tunnicliffe; reviewed by Marcus Eriksson for
CASSANDRA-21143
2026-03-16 15:23:03 +00:00
Sam Tunnicliffe 50c314eaec Consensus groups for range movements can omit future owners of merging ranges
* Expand affected ranges to include removals
* Don't create waiters for replica groups of future ranges not yet in placements

Patch by Sam Tunnicliffe; reviewed by Marcus Eriksson for
CASSANDRA-21142
2026-03-16 15:15:23 +00:00
samlightfoot ea3d8a3d31 Wire compaction_read_disk_access_mode through cursor-based compaction
Make MemoryUtil.clean() throw for slices/duplicates that cannot be cleaned and fix mmap cleanup
Parameterise main compaction tests for cursor/iterator and buffered/direct combinations

patch by Sam Lightfoot; reviewed by Ariel Weisberg, Dmitry Konstantinov for CASSANDRA-21147
2026-03-16 11:19:05 +00:00
Stefan Miklosovic cb51969eb0
Merge branch 'cassandra-5.0' into trunk 2026-03-15 18:50:59 +01:00
Stefan Miklosovic c439be9390
Merge branch 'cassandra-4.1' into cassandra-5.0 2026-03-15 18:38:43 +01:00
Stefan Miklosovic 4c7367d739
Merge branch 'cassandra-4.0' into cassandra-4.1 2026-03-15 18:36:43 +01:00
Stefan Miklosovic 3ad4794aa0
Node does not send multiple inflight echos
patch by Cameron Zemek; reviewed by Stefan Miklosovic, Brandon Williams for CASSANDRA-18866
2026-03-15 18:31:14 +01:00
mck 076c6f1136
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Fix ConcurrentModificationException in compaction garbagecollect
2026-03-13 22:35:30 +01:00
Joaquin Casares 2b1c8395eb
Fix ConcurrentModificationException in compaction garbagecollect
patch by Joaquin Casares; reviewed by Mick Semb Wever for CASSANDRA-21065
2026-03-13 22:32:06 +01:00
Sunil Ramchandra Pawar 8d325d50ed Allow value/element indexing on frozen collections in SAI
patch by Sunil Ramchandra Pawar; reviewed by Caleb Rackliffe, David Capwell, and Andres de la Peña for CASSANDRA-18492
2026-03-13 11:47:23 -05:00
Aleksey Yeshchenko b50152af22 Merge branch 'cassandra-5.0' into trunk 2026-03-13 15:08:19 +00:00
Aleksey Yeshchenko 40d52159f7 Merge branch 'cassandra-4.1' into cassandra-5.0 2026-03-13 14:58:07 +00:00
Aleksey Yeschenko 65ddddf6fb Fix ant generate-eclipse-files
patch by Aleksey Yeschenko; reviewed by Alex Petrov for CASSANDRA-21215
2026-03-13 14:53:26 +00:00
Abhijeet Dubey 88b373a631 Add tool to offline dump cluster metadata and the log
Patch by Abhijeet Dubey; reviewed by Sam Tunnicliffe and marcuse for CASSANDRA-21129
2026-03-13 15:21:19 +01:00
minal-kyada 9bedf98b6e Send client warnings when writing to a large partition
Patch by Minal Kyada; reviewed by David Capwell and marcuse for CASSANDRA-17258
2026-03-13 12:44:30 +01:00
mck 73cd1d6b68
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  ninja CHANGES.txt entry for CASSANDRA-21052
2026-03-10 20:22:56 +01:00
mck d242f8e58d
Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  ninja CHANGES.txt entry for CASSANDRA-21052
2026-03-10 20:10:40 +01:00
mck 0ed41f934f
Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  ninja CHANGES.txt entry for CASSANDRA-21052
2026-03-10 20:06:43 +01:00
MichaelMorris 9c640a06eb
ninja CHANGES.txt entry for CASSANDRA-21052 2026-03-10 20:04:33 +01:00
Stefan Miklosovic 5519df34cb
Merge branch 'cassandra-5.0' into trunk 2026-03-05 16:13:42 +01:00
Stefan Miklosovic e0ac46c5a7
Merge branch 'cassandra-4.1' into cassandra-5.0 2026-03-05 16:10:01 +01:00
Stefan Miklosovic b41fb1f71a
Merge branch 'cassandra-4.0' into cassandra-4.1 2026-03-05 16:05:39 +01:00
Stefan Miklosovic 547187a229
Obsolete expired SSTables before compaction starts
patch by Stefan Miklosovic; reviewed by Branimir Lambov for CASSANDRA-19776
2026-03-05 16:03:13 +01:00
Stefan Miklosovic ce983cb89c
Harden the possible range of values for max dictionary size and max total sample size for dictionary training
patch by Stefan Miklosovic; reviewed by Yifan Cai for CASSANDRA-21194
2026-03-02 15:57:22 +01:00
Stefan Miklosovic 43a022c4fc
Implement a guardrail ensuring that minimum training frequency parameter is provided in ZstdDictionaryCompressor
patch by Stefan Miklosovic; reviewed by Yifan Cai for CASSANDRA-21192
2026-03-02 15:52:46 +01:00
Stefan Miklosovic a2d78be028
Replace manual referencing with ColumnFamilyStore.selectAndReference when training a dictionary
patch by Stefan Miklosovic; reviewed by Yifan Cai for CASSANDRA-21188
2026-03-02 15:50:20 +01:00
Aparna Naik a7695a6220 Forbid nodes upgrading to a version which cannot read existing log entries
Patch by Aparna Naik; reviewed by Marcus Eriksson and Sam Tunnicliffe
for CASSANDRA-21174
2026-02-27 14:46:14 +00:00
Dmitry Konstantinov 5b819f94fd Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Dynamically skip sharding L0 when SAI Vector index present
2026-02-26 12:51:43 +00:00
Michael Marshall 5172a0df3b Dynamically skip sharding L0 when SAI Vector index present
This is a partial solution to IllegalStateException thrown by VectorPostings. It works by using a single shard at L0 when a vector index is present. As noted in the jira ticket, there are edge cases that may still produce errors, notably the case where there are multiple data directories.
The key trade offs here are related to the time complexity for search. Since graph search is log(n), and searching m graphs is m * log(n), we see better search performance by building bigger graphs which is essentially log(m * n). We could pre-shard, which comes at a cost of increased search time complexity.

patch by Michael Marshall,Dmitry Konstantinov; reviewed by Caleb Rackliffe,Dmitry Konstantinov,Michael Semb Wever for CASSANDRA-19661

Co-authored-by: Michael Marshall <mmarshall@apache.org>
Co-authored-by: Dmitry Konstantinov <netudima@gmail.com>
2026-02-26 12:45:05 +00:00
Stefan Miklosovic 9303ca04de
Introduce a check for minimum time to pass to train or import a compression dictionary from the last one
patch by Stefan Miklosovic; reviewed by Yifan Cai for CASSANDRA-21179
2026-02-26 09:43:40 +01:00
Paulo Motta a9ee34b62d Add compaction strategy override via system properties
Introduce the ability to override compaction strategy for specific keyspaces
and tables at startup via two new system properties:
- cassandra.override_compaction.entities: comma-separated list of keyspaces
  and keyspace.table pairs (e.g. "ks1,ks2.tbl1,ks3.tbl2")
- cassandra.override_compaction.params: JSON compaction parameters to apply

Patch by Paulo Motta; Reviewed by Jaydeepkumar Chovatia for CASSANDRA-21169
2026-02-20 11:49:10 -05:00
Stefan Miklosovic 0be5ffa8c8
Introduce created_at column to system_distributed.compression_dictionaries
patch by Stefan Miklosovic; reviewed by Yifan Cai for CASSANDRA-21178
2026-02-19 03:53:19 +01:00
Caleb Rackliffe 7532be5cbb Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Optionally force IndexStatusManager to use the optimized index status format
2026-02-17 14:15:33 -06:00
Caleb Rackliffe 32154eebcd Optionally force IndexStatusManager to use the optimized index status format
patch by Caleb Rackliffe; reviewed by Jon Meredith for CASSANDRA-21132
2026-02-17 14:00:57 -06:00
Stefan Miklosovic 3fc830a19c
Be able to detect and remove orphaned compression dictionaries
patch by Stefan Miklosovic; reviewed by Yifan Cai for CASSANDRA-21157
2026-02-17 11:07:49 +11:00
arvindksi274-ksolves 817f0b8713 Fix BigTableVerifier to only read a data file during extended verification
It restores the original approach when data files are read only in an extended mode, as it takes more time
It fixes sstable.VerifyTest.testVerifyCorruptRowCorrectDigest test failure

patch by Arvind Kandpal; reviewed by Dmitry Konstantinov,Brandon Williams for CASSANDRA-21150
2026-02-11 09:40:33 +00:00
Jaydeepkumar Chovatia 4ada37e940 No need to evict already prepared statements, as it creates a race condition between multiple threads
patch by Jaydeepkumar Chovatia; reviewed by Alex Petrov for CASSANDRA-17401
2026-02-10 17:07:22 -08:00