Commit Graph

6554 Commits

Author SHA1 Message Date
Dmitry Konstantinov b4210acd3d
Improve CommitLogSegmentReader to skip SyncBlocks correctly in case of CRC errors
patch by Dmitry Konstantinov; reviewed by Stefan Miklosovic for CASSANDRA-20664
2025-07-31 11:09:11 +02:00
Stefan Miklosovic f5f71b7fae
Rework / simplification of nodetool get/setguardrailsconfig commands
patch by Stefan Miklosovic; reviewed by Maxim Muzafarov for CASSANDRA-20778
2025-07-24 10:22:55 +02:00
Yuqi Yan 4962f3da3f IntrusiveStack.accumulate is not accumulating correctly
patch by Yuqi Yan; reviewed by Benedict Elliott Smith, David Capwell for CASSANDRA-20670
2025-07-18 16:02:17 -07:00
Yuqi Yan 5c94bc8820
Add nodetool get/setguardrailsconfig commands
patch by Yuqi Yan; reviewed by Brandon Williams, Maxwell Guo, Stefan Miklosovic for CASSANDRA-19552

Co-authored-by: Stefan Miklosovic <smiklosovic@apache.org>
2025-07-18 07:25:17 +02:00
Andy Tolbert 9c308ce2f3 Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Ensure prepared_statement INSERT timestamp precedes eviction DELETE
2025-05-27 22:22:41 -05:00
Andy Tolbert d077f69553 Ensure prepared_statement INSERT timestamp precedes eviction DELETE
Updates SystemKeyspace.writePreparedStatement to accept a timestamp
associated with the Prepared creation time. Using this timestamp
will ensure that an INSERT into system.prepared_statements will
always precede the timestamp for the same Prepared in
SystemKeyspace.removePreparedStatement.

This is needed because Caffeine 2.9.2 may evict an entry as soon
as it is inserted if the maximum weight of the cache is exceeded
causing the DELETE to be executed before the INSERT.

Additionally, any clusters currently experiencing a leaky
system.prepared_statements table from this bug may struggle to
bounce into a version with this fix as
SystemKeyspace.loadPreparedPreparedStatements currently does
not paginate the query to system.prepared_statements, causing heap
OOMs.  To fix this this patch adds pagination at 5000 rows and
aborts loading once the cache size is loaded. This should allow
nodes to come up and delete older prepared statements that may no
longer be used as the cache fills up (which should happen immediately).

This patch does not address the issue of Caffeine immediately evicting
a prepared statement, however it will prevent the
system.prepared_statements table from growing unbounded.  For most users
this should be adequate, as the cache should only be filled when there
are erroneously many unique prepared statements. In such a case we can
expect that clients will constantly prepare statements regardless
of whether or not the cache is evicting statements.

patch by Andy Tolbert; reviewed by Berenguer Blasi and Caleb Rackliffe for CASSANDRA-19703
2025-05-27 22:17:15 -05:00
David Capwell 005d3c28e5 Merge branch 'cassandra-4.0' into cassandra-4.1 2025-05-22 14:14:42 -07:00
David Capwell c736d22cf8 Gossip doesn't converge due to race condition when updating EndpointStates multiple fields
patch by David Capwell, Matt Byrd; reviewed by Blake Eggleston, Brandon Williams for CASSANDRA-20659
2025-05-22 14:12:15 -07:00
Marcus Eriksson d4fb51347c Merge branch 'cassandra-4.0' into cassandra-4.1 2025-05-12 13:22:01 +02:00
Josh McKenzie f2e3a0a4fc Handle sstable metadata stats file getting a new mtime after compaction has finished
Patch by Josh McKenzie and marcuse; reviewed by Josh McKenzie and marcuse for CASSANDRA-18119
2025-05-12 13:16:50 +02:00
Jon Meredith 2ac701629b Merge branch 'cassandra-4.0' into cassandra-4.1 2025-04-22 14:42:51 -06:00
Jon Meredith d4d858d382 Updating a column with a new TTL but same expiration time is non-deterministic and causes repair mismatches.
patch by Jon Meredith; reviewed by Marcus Eriksson for CASSANDRA-20561
2025-04-22 14:42:02 -06:00
Francisco Guerrero 60ea852811 Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  allow grant permission on virtual keyspaces
2025-04-18 09:16:00 -07:00
Tibor Répási 348ffb0ba0 allow grant permission on virtual keyspaces
Patch by Tibor Répási; reviewed by Francisco Guerrero, Maxwell Guo for CASSANDRA-20171
2025-04-18 09:13:04 -07:00
Bereng 3e2e4c3ea1 Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  CASSANDRA-19633 Replaced node is stuck in a loop calculating ranges
2025-04-14 09:21:58 +02:00
Bereng fcea0b6fd8 CASSANDRA-19633 Replaced node is stuck in a loop calculating ranges 2025-04-14 09:20:33 +02:00
Ariel Weisberg ec00426584 Merge branch 'cassandra-4.0' into cassandra-4.1 2025-04-08 15:18:23 -04:00
Ariel Weisberg 96bfbe6250 Dropwizard Meter causes timeouts when infrequently used
patch by Ariel Weisberg; reviewed by Maxim Muzafarov for CASSANDRA-19332
2025-04-08 15:16:08 -04:00
Dmitry Konstantinov 1a0ea33188 Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Fix CommitlogShutdownTest flakiness by testing a real drain logic instead an emulation which is affected by background activities for system tables
2025-03-27 12:48:55 +00:00
Dmitry Konstantinov bc8941e377 Fix CommitlogShutdownTest flakiness by testing a real drain logic instead an emulation which is affected by background activities for system tables
Patch by Dmitry Konstantinov; reviewed by Josh McKenzie for CASSANDRA-19101
2025-03-27 12:19:55 +00:00
Dmitry Konstantinov f711292902 Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Disable role and network permission caches to avoid interference between test methods
2025-03-13 14:15:33 +00:00
Dmitry Konstantinov 8cb58bf97a Disable role and network permission caches to avoid interference between test methods
Patch by Dmitry Konstantinov; reviewed by TBD for CASSANDRA-20423
2025-03-13 13:37:20 +00:00
Bereng fc232f45f0 Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Long running repairs autofail prematurely
2025-02-12 11:12:53 +01:00
Bereng 914046ae46 Long running repairs autofail prematurely
patch by Berenguer Blasi; reviewed by Bernardo Botella Corbi, Michael Semb Wever for CASSANDRA-20312
2025-02-12 11:09:14 +01:00
Sam Tunnicliffe 066c489d76 Tighten up permissions on system keyspaces
* Restrict which permissions can be granted on system keyspaces
* Ensure that GRANT... ON ALL KEYSPACES excludes system keyspaces
* Add system_traces to the always readable set

Patch by Sam Tunnicliffe and Francisco Guerrero; reviewed by Sam
Tunnicliffe and Francisco Guerrero for CASSANDRA-20090

Note: this is a re-application of the commit to cassandra-4.0 only,
to fix a bad merge the first time around.

Co-authored-by: Francisco Guerrero <frankgh@apache.org>
2025-02-06 09:13:03 +00:00
Dmitry Konstantinov 68b7425332 WaitQueue.Signal.awaitUninterruptibly may block forever if invoking thread is interrupted
Patch by Dmitry Konstantinov; reviewed by Benedict Elliott Smith and Josh McKenzie for CASSANDRA-20084
2025-02-03 10:58:56 -05:00
Stefan Miklosovic 85647ceadb
Merge branch 'cassandra-4.0' into cassandra-4.1 2025-01-27 08:23:35 +01:00
Stefan Miklosovic 6207a305ba
Tighten up permissions in dc authorizers
patch by Stefan Miklosovic; reviewed by Francisco Guerrero for CASSANDRA-20225
2025-01-26 17:52:09 +01:00
David Capwell 935effb7e0 Merge branch 'cassandra-4.0' into cassandra-4.1 2025-01-24 14:59:34 -08:00
David Capwell 3ddccf4521 CBUtil serialization of UTF8 does not handle all UTF8 properly
patch by David Capwell; reviewed by Yifan Cai for CASSANDRA-20234
2025-01-24 14:56:44 -08:00
Sam Tunnicliffe d14d16926e Merge branch 'cassandra-4.0' into cassandra-4.1 2025-01-17 09:08:09 +00:00
Dmitry Konstantinov 6f90e962f5 Enforce CQL message size limit on multiframe messages
Patch by Dmitry Konstantinov; reviewed by Sam Tunnicliffe,
Caleb Rackliffe for CASSANDRA-20052
2025-01-13 09:47:37 +00:00
David Capwell 4da92af589 Merge branch 'cassandra-4.0' into cassandra-4.1 2025-01-07 17:40:39 -08:00
Sunil Ramchandra Pawar 4fc8bb29fc IndexOutOfBoundsException when accessing partition where the column was deleted
patch by Sunil Ramchandra Pawar; reviewed by Caleb Rackliffe, David Capwell for CASSANDRA-20108
2025-01-07 17:38:20 -08:00
Yifan Cai c44008e9e4 Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Enhance CQLSSTableWriter to notify client on sstable production
2024-11-22 14:57:36 -08:00
Yifan Cai 659558c980 Enhance CQLSSTableWriter to notify client on sstable production
Patch by Yifan Cai; Reviewed by Francisco Guerrero for CASSANDRA-19800
2024-11-22 14:49:22 -08:00
Bereng 364b641abc Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Flaky PstmtPersistenceTest take 2
2024-11-15 13:19:36 +01:00
Bereng f3c29e08fa Flaky PstmtPersistenceTest take 2
patch by Berenguer Blasi; reviewed by Stefan Miklosovic for CASSANDRA-20055
2024-11-15 13:17:12 +01:00
Bereng 4acce2af89 Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Flaky PstmtPersistenceTest
2024-11-11 09:45:33 +01:00
Bereng 7ba691e3d3 Flaky PstmtPersistenceTest
patch by Berenguer Blasi; reviewed by Stefan Miklosovic for CASSANDRA-20055
2024-11-11 09:43:31 +01:00
Stefan Miklosovic 0f590133f8
Merge branch 'cassandra-4.0' into cassandra-4.1 2024-11-06 22:27:28 +01:00
Josh McKenzie 8ea70cd1f0
Backport of CASSANDRA-17812: Rate-limit new client connection auth setup to avoid overwhelming bcrypt
This backport differs from CASSANDRA-17812 in such a way that by default the number
of auth request threads is set to 0. That will route all requests to request executor as before this change.
The patch in 5.0 and later sets the default number of auth request threads to 4.

patch by Josh McKenzie; reviewed by Chris Lohfink for CASSANDRA-20057

Co-authored-by: Stefan Miklosovic <smiklosovic@apache.org>
2024-11-06 22:23:16 +01:00
Stefan Miklosovic 17418a2ba0
Merge branch 'cassandra-4.0' into cassandra-4.1 2024-11-06 14:33:00 +01:00
Stefan Miklosovic 6093c2d99b
Support UDTs and vectors as clustering keys in descending order
patch by Stefan Miklosovic; reviewed by David Capwell for CASSANDRA-20050
2024-11-06 14:28:48 +01:00
Stefan Miklosovic 521891c196
Merge branch 'cassandra-4.0' into cassandra-4.1 2024-11-06 09:47:00 +01:00
Stefan Miklosovic 181ddc0600
Fix CQL in snapshot's schema which did not contained UDTs used as reverse clustering columns
patch by Stefan Miklosovic; reviewed by David Capwell for CASSANDRA-20036
2024-11-06 09:41:45 +01:00
jaydeepkumar1984 e5c919f273
Add nodetool checktokenmetadata command that checks TokenMetadata is insync with Gossip endpointState
patch by Jaydeepkumar Chovatia; reviewed by Brandon Williams, Mick Semb Wever for CASSANDRA-18758
2024-11-05 22:42:28 +01:00
Bereng 94c2a09772 Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  CASSANDRA-19986 Prepared statements cache computation improvements
2024-11-04 10:00:03 +01:00
Bereng ff54fd5ffd CASSANDRA-19986 Prepared statements cache computation improvements
patch by Berenguer Blasi; reviewed by Maxwell Guo, Stefan Miklosovic for CASSANDRA-19986
2024-11-04 09:56:32 +01:00
Sam Tunnicliffe 9ff31e8060 Equality check for Paxos.Electorate should not depend on collection types
Patch by Sam Tunnicliffe; reviewed by Marcus Eriksson for CASSANDRA-19935
2024-11-01 18:53:22 +00:00