Commit Graph

8379 Commits

Author SHA1 Message Date
Stefan Miklosovic 4a201d4f6f
Merge branch 'cassandra-4.0' into cassandra-4.1 2025-09-24 10:20:21 +02:00
Yifan Cai 90f231ad56
Fixed incorrect error message constant for keyspace name length validation
patch by Yifan Cai; reviewed by Maxwell Guo, Stefan Miklosovic for CASSANDRA-20915
2025-09-24 10:13:04 +02:00
Stefan Miklosovic 02ef8f8a0d
Merge branch 'cassandra-4.0' into cassandra-4.1 2025-09-19 14:18:29 +02:00
Marko Tsymbaluk b26e33d506
Represent complex settings as JSON on system_views.settings table
The patch for 5.0 is preserving old behavior, it is possible to turn on JSON representation by a system property.
The patch for trunk is by default transforming collections to JSON string but there is the property (same as in 5.0) which has default to be set to true.

patch by Marko Tsymbaluk; reviewed by Paulo Motta, Stefan Miklosovic for CASSANDRA-20827

Co-authored-by: Stefan Miklosovic <smiklosovic@apache.org>
2025-09-19 11:58:23 +02:00
Dmitry Konstantinov 7f92e1ac2c Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Prevent too long table names not fitting file names
2025-09-10 23:09:58 +01:00
Dmitry Konstantinov bff43df7db Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Prevent too long table names not fitting file names
2025-09-10 22:59:34 +01:00
Ruslan Fomkin 6c29686ea7 Prevent too long table names not fitting file names
The length of table names was not controlled. This is likely due to
confusion between validation methods with similar names. As result
creating tables with too long names led to the too long file name
exceptions during table creations.

This commit adds a validation of table name lengths to avoid the too
long file name errors. The validation length is based on how the table
name is used to create file/directory names, and needs to be exact to
prevent the too long file name exception, but allow all other table
names, which didn't lead to the too long file name exception. This
length limit is different from the existing name length limit of 48
characters used by common validation functions.

Thus, this commit moves out the length validation from the validation
methods into a separate length validation method, so the errors on
names are more specific. The non-length validation methods combined
into a single method, which checks for empty names and valid characters.

New constants are added for the length limits.

Table name related code are moved into methods in TableMetadata class,
so their semantics are more clear and to allow reuse, e.g., in
asserting the table name length constant.
Tests are added for the long table names and non-alphanumeric names.

Keyspace name validation function is now shared between two classes and
a unit test of it is added.

Patch by Ruslan Fomkin; reviewed by Piotr Kołaczkowski, Dmitry
Konstantinov, Maxwell Guo for CASSANDRA-20389
2025-09-10 22:48:43 +01:00
Stefan Miklosovic e45a330f54
Merge branch 'cassandra-4.1' into cassandra-5.0 2025-09-01 12:53:53 +02:00
Stefan Miklosovic c9717b4ed5
Redact security-sensitive information in system_views.settings
patch by Stefan Miklosovic; reviewed by Maxwell Guo, Francisco Guerrero for CASSANDRA-20856
2025-09-01 12:44:43 +02:00
Stefan Miklosovic 792e823af0
Merge branch 'cassandra-4.0' into cassandra-4.1 2025-08-27 19:01:31 +02:00
Dmitry Konstantinov 1c5286f4d1
Fix IndexOutOfBoundsException in sstablemetadata tool when a range tombstone is a max clustering value
patch by Dmitry Konstantinov; reviewed by Stefan Miklosovic for CASSANDRA-20855
2025-08-27 18:54:10 +02:00
Stefan Miklosovic 74e0794d92
Merge branch 'cassandra-4.1' into cassandra-5.0 2025-08-20 10:53:22 +02:00
Stefan Miklosovic 4824ecc4a5
Merge branch 'cassandra-4.0' into cassandra-4.1 2025-08-20 10:50:20 +02:00
Stefan Miklosovic eb9586dc68
Make secondary index implementations notified about rows in fully expired SSTables in compaction
patch by Stefan Miklosovic; reviewed by Branimir Lambov for CASSANDRA-20829
2025-08-20 10:42:01 +02:00
Isaac Reath 170bf57eac
Fix ThreadLocalReadAheadBufferTest to avoid FileNotFoundException when -Djava.io.tmpdir set to /tmp
patch by Isaac Reath; reviewed by Paulo Motta, Stefan Miklosovic for CASSANDRA-20819
2025-08-08 09:00:57 +02:00
Romain Hardouin 3b9669b116
Sort SSTable TOC entries for determinism
patch by Romain Hardouin; reviewed by Stefan Miklosovic, Dmitry Konstantinov for CASSANDRA-20494

Co-authored-by: Stefan Miklosovic <smiklosovic@apache.org>
2025-08-06 18:34:26 +02:00
Stefan Miklosovic 345df4e723
Merge branch 'cassandra-4.1' into cassandra-5.0 2025-07-31 11:15:15 +02:00
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 cf83f8b2a4
Merge branch 'cassandra-4.1' into cassandra-5.0 2025-07-30 17:21:45 +02:00
Isaac Reath fcaa1b3e39
Do not crash on first boot with data_disk_usage_max_disk_size set when data directory is not created yet
patch by Isaac Reath; reviewed by Paulo Motta, Stefan Miklosovic for CASSANDRA-20787
2025-07-30 17:19:10 +02:00
Paulo Motta 07163cfb51
Fix StorageService JMX mbean not available during bootstrap
Patch by Paulo Motta; reviewed by Stefan Miklosovic for CASSANDRA-19902
2025-07-28 09:28:02 +02:00
Stefan Miklosovic 922819dc08
Merge branch 'cassandra-4.1' into cassandra-5.0 2025-07-24 10:25:54 +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
David Capwell 169c37b030 Merge branch 'cassandra-4.1' into cassandra-5.0 2025-07-18 16:04:46 -07: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
Stefan Miklosovic 5fb3ae4473
Merge branch 'cassandra-4.1' into cassandra-5.0 2025-07-18 07:41:32 +02: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
Caleb Rackliffe 81fcacdfa4 Ensure CassandraIndexTest sets up properly when using SAI in the wake of CASSANDRA-20732
patch by Caleb Rackliffe; reviewed by Stefan Miklosovic for CASSANDRA-20740
2025-07-02 11:52:34 -05:00
Caleb Rackliffe f553acea3e Avoid availability gap between UP and queryability marking for already built SAI indexes on bounce
patch by Caleb Rackliffe; reviewed by David Capwell and Dmitry Konstantinov for CASSANDRA-20732
2025-06-27 11:30:13 -05:00
Michael Marshall a72dcbc86a Get SAI MemtableIndex refs before SSTableIndex refs at query time
SAI predicate search currently has a bug that could result in missing rows due to a
concurrent flush during a query. The new test created in this PR shows the point of failure.
The problem is that we get the SSTable index references before getting the Memtable index
references. Note that we do it in the correct order in the ANN OF query path, but not
in the WHERE query path.

This commit updates the QueryView object to hold references to the appropriate Memtable indexes.

It also removes the problematic search methods from MemtableIndexManager to prevent future misuse.

patch by Michael Marshall; reviewed by Caleb Rackliffe and Ekaterina Dimitrova for CASSANDRA-20709
2025-06-16 16:00:47 -05:00
samlightfoot 53ccfd58f2 Fix MAX_SEGMENT_SIZE < chunkSize in MmappedRegions::updateState
patch by samlightfoot, Szymon Mi<C4><99><C5><BC>a<C5><82>; reviewed by Ariel Weisberg, Michael Semb Wever for CASSANDRA-20636
2025-06-10 16:32:11 -04:00
Marcus Eriksson f07510a303 CASSANDRA-18119 followup - test fix, create STATS component when using BtiFormat
Patch by marcuse; reviewed by Mick Semb Wever for CASSANDRA-18119
2025-06-05 14:04:42 +02:00
Caleb Rackliffe e5c101673a Ensure replica filtering protection does not trigger unnecessary short read protection reads
patch by Caleb Rackliffe; reviewed by Blake Eggleston and Zhao Yang for CASSANDRA-20639
2025-05-28 16:40:37 -05:00
Andy Tolbert e90fece187 Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Ensure prepared_statement INSERT timestamp precedes eviction DELETE
2025-05-27 22:29:40 -05: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
Pranav Shenoy 823f48663e Unified Compaction does not properly validate min and target sizes
patch by Pranav Shenoy; reviewed by Branimir Lambov, Claude Warren, David Capwell for CASSANDRA-20398
2025-05-27 15:22:32 -07:00
Caleb Rackliffe dd0d8c03b9 Avoid lambda usage in TrieMemoryIndex range queries and ensure queue size tracking is per column
patch by Caleb Rackliffe; reviewed by David Capwell for CASSANDRA-20668
2025-05-27 15:44:01 -05:00
David Capwell ac05c94e6a Merge branch 'cassandra-4.1' into cassandra-5.0 2025-05-22 14:15:37 -07: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
Dmitry Konstantinov 96b3db90fb Relax validation of snapshot name as a part of SSTable files path validation
Patch by Dmitry Konstantinov; reviewed by Michael Semb Wever for CASSANDRA-20649
2025-05-16 12:50:42 +01:00
Marcus Eriksson 29746cffbb Merge branch 'cassandra-4.1' into cassandra-5.0 2025-05-12 13:29:36 +02: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
Sunil Ramchandra Pawar 7a8335c273 Optimize initial skipping logic for SAI queries on large partitions
patch by Sunil Ramchandra Pawar; reviewed by Caleb Rackliffe and David Capwell for CASSANDRA-20191
2025-05-08 14:28:07 -05:00
Szymon Miężał 6a81306876 Reading mmapped trie-index exceeding 2GiB results in exception
Memory-mapping is done in buffers of size less than 2GiB.
When these buffers aren't aligned to 4KiB and the trie-index file
spans many buffers then reading it results in going out of buffer
bounds.

This patch fixes it by making sure that the buffers are correctly
aligned.

patch by Szymon Miezal; reviewed by blambov and brandonwilliams for CASSANDRA-20351
2025-05-06 06:38:53 -05:00
Doug Rohrer 2aeb6a0290 CASSANDRA-20609 - CQLSSTableWriter should support setting the format (5.0) 2025-05-01 13:33:57 -04:00
Caleb Rackliffe 4bcae8e57e Ensure RowFilter#isMutableIntersection() properly evaluates numeric ranges on a single column
patch by Caleb Rackliffe; reviewed by Ariel Weisberg for CASSANDRA-20566
2025-04-27 09:46:59 -05:00
Dmitry Konstantinov ae82efc013 Add LittleEndianMemoryUtil and NativeEndianMemoryUtil, switch memtable-related off-heap objects and Memory to use them and have Little Endian now.
Add BE offsets detection on Summary loading.
Add test SSTables in an old format with BE offsets in Summary component to LegacySSTableTest.

Patch by Dmitry Konstantinov; reviewed by Branimir Lambov, Michael Semb Wever for CASSANDRA-20190
2025-04-24 11:45:26 +01:00
David Capwell 07831c9cc7 SAI marks an index as non-empty when a partial partition/row modifications is flushed due to repair
patch by David Capwell; reviewed by Caleb Rackliffe for CASSANDRA-20567
2025-04-23 17:58:45 -07:00
Sunil Ramchandra Pawar 97037496f2 SAI fails queries when multiple columns exist and a non-indexed column is a composite with a map
patch by Sunil Ramchandra Pawar; reviewed by Caleb Rackliffe, David Capwell for CASSANDRA-19891
2025-04-23 15:05:54 -07:00
Jon Meredith 32cfd477df Merge branch 'cassandra-4.1' into cassandra-5.0 2025-04-22 14:43:49 -06: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
Branimir Lambov f327b63db0 Introduce SSTableSimpleScanner for compaction
This removes the usage of index files during compaction and simplifies
and improves the performance of compaction.

patch by Branimir Lambov; reviewed by Sylvain Lebresne for CASSANDRA-20092
2025-04-19 13:21:14 -07:00
Francisco Guerrero b83fef6efa Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  allow grant permission on virtual keyspaces
2025-04-18 09:19:49 -07: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 0f9bb246cd Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  CASSANDRA-19633 Replaced node is stuck in a loop calculating ranges
2025-04-14 09:23:14 +02: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
Caleb Rackliffe 725e4ba3eb Avoid purging deletions in RowFilter when reconciliation is required
patch by Caleb Rackliffe; reviewed by David Capwell for CASSANDRA-20541
2025-04-10 22:31:53 -05:00
Jordan West bcd5c48307 Fix test failure with negative position in ThreadLocalReadAheadBufferTest
patch by Jordan West; reviewed by Jon Haddad, Dmitry Konstantinov for CASSANDRA-20507
2025-04-10 11:39:51 -07:00
Caleb Rackliffe 4e2e5f3c57 Fixed multiple single-node SAI query bugs relating to static columns
- Ensure MemtableIndexWriter calculates min/max properly with indexes on partition key elements
- Ensure only rows with live data are indexed
- Ensure min cannot be greater than max in intersection statistics with static keys
- Correct tracking of last key in the searcher in the presence of static keys

patch by Caleb Rackliffe; reviewed by David Capwell for CASSANDRA-20338
2025-04-08 21:58:21 -05: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
mck 694a88bdbe
Upgrade java-driver-core to 3.12.1 and org.apache coords
patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-17231
2025-04-07 15:45:39 +02:00
Blake Eggleston eaa20275ff Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Fix mixed mode paxos hang
2025-04-03 15:28:19 -07:00
Blake Eggleston cf60eb8672 Fix mixed mode paxos hang
- reinstates the mrc check from CASSANDRA-12043 for legacy paxos purging

Patch by Blake Eggleston; Reviewed by Ariel Weisberg for CASSANDRA-20514
2025-04-03 15:22:45 -07:00
Blake Eggleston 31235c4314 Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  convert legacy zero ballots to 4.1 zero value on deserialization
2025-03-28 14:12:32 -07:00
Blake Eggleston 2a5749f203 convert legacy zero ballots to 4.1 zero value on deserialization
Patch by Blake Eggleston, reviewed by Alex Petrov and Ariel Weisberg for CASSANDRA-20493
2025-03-28 14:10:18 -07:00
Roxana Neophytou ab51b79473
Add LegacySSTableTest data for past sstable formats
Also add test method testVerifyOldTupleSSTables for frozen tuples and dropping of them.

The test data also adds different versions of me format sstables from C* version 3.0.25 and 3.11.11 as they do (unfortunately) differ. Test sstable files have had their sequence generation ids changed to represent the server version used to create them, while this shouldn't be necessary it is for debug purposes when sstable formats have changed between versions.

 patch by Roxana Neophytou, Mick Semb Wever; reviewed by Dmitry Konstantinov for CASSANDRA-20485

Co-authored-by: mck <mck@apache.org>
2025-03-28 12:33:28 +01:00
Dmitry Konstantinov 10f66d5ccb Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Fix CommitlogShutdownTest flakiness by testing a real drain logic instead an emulation which is affected by background activities for system tables
2025-03-27 13:12:14 +00: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
Caleb Rackliffe 1d47fab638 Serialization can lose complex deletions in a mutation with multiple collections in a row
patch by Caleb Rackliffe; reviewed by Berenguer Blasi and Abe Ratnofsky for CASSANDRA-20449
2025-03-19 12:21:47 -05:00
Tiago Alves c925228a4d
Improve error messages when initializing auth classes
patch by Tiago Alves; reviewed by Stefan Miklosovic, Maxwell Guo for CASSANDRA-20368
2025-03-17 18:37:50 +01:00
Stefan Miklosovic 9e04c7a789
Merge branch 'cassandra-4.1' into cassandra-5.0 2025-03-17 09:14:16 +01:00
Stefan Miklosovic dff453350a
Optionally skip exception logging on invalid legacy protocol magic exception
patch by Stefan Miklosovic; reviewed by David Capwell, Brad Schoening for CASSANDRA-19483
2025-03-17 09:12:21 +01:00
Ariel Weisberg b17e4ee88a Fix SSTableReader interval mock in UnifiedCompactionStrategyTest
patch by Ariel Weisberg; reviewed by Caleb Rackliffe for CASSANDRA-20437
2025-03-14 14:04:59 -04:00
Caleb Rackliffe 740d6d0805 Prioritize legacy 2i over SAI for columns with multiple indexes
patch by Caleb Rackliffe; reviewed by David Capwell for CASSANDRA-20334
2025-03-13 12:15:25 -05:00
Dmitry Konstantinov c4eb9a3aad Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
2025-03-13 14:24:48 +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
Caleb Rackliffe aee3c7531b Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Support null column value tombstones in FQL batch statements
2025-03-06 11:16:57 -06:00
Caleb Rackliffe 985e121404 Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Support null column value tombstones in FQL batch statements
2025-03-06 11:09:01 -06:00
Caleb Rackliffe f375a3914f Support null column value tombstones in FQL batch statements
patch by Caleb Rackliffe; reviewed by Abe Ratnofsky for CASSANDRA-20397
2025-03-06 10:56:49 -06:00
Stefan Miklosovic 4f382d93f5
Merge branch 'cassandra-4.1' into cassandra-5.0 2025-03-06 14:27:06 +01:00
Stefan Miklosovic 16bca9d343
Merge branch 'cassandra-4.0' into cassandra-4.1 2025-03-06 14:23:11 +01:00
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 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
Ariel Weisberg 4edf79a263 Ninja add missing license to IntervalTreeTest 2025-03-04 18:58:16 -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
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 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
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 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
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
Caleb Rackliffe f28a16740a Avoid indexing empty values for non-literals and types that do not allow them
patch by Caleb Rackliffe; reviewed by David Capwell and Andres de la Peña for CASSANDRA-20313

Co-authored-by: Caleb Rackliffe <calebrackliffe@gmail.com>
Co-authored-by: Andres de la Peña <a.penya.garcia@gmail.com>
2025-02-11 14:49:53 -06:00
Stefan Miklosovic 881a1f023f
Fix incorrect results of min / max in-built functions on clustering columns in descending order
Not unwrapping returnType has consequences of not
returning the correct results when using aggregate in-built functions
(max / min) on clustering columns having descending order.

The safest solution, is to unwrap returnType "at source"
and work with unwrapped type only since then.

patch by Stefan Miklosovic; reviewed by David Capwell for CASSANDRA-20295
2025-02-07 23:18:40 +01:00
Dmitry Konstantinov 11480a8b08 Wait for completion of async dumpMemtable in CommitLogTestCQL
Patch by Dmitry Konstantinov; reviewed by brandonwilliams and
smiklosovic for CASSANDRA-20298
2025-02-07 15:36:48 -06:00
Caleb Rackliffe 953ab6cf64 Avoid possible consistency violations for SAI intersection queries over repaired index matches and multiple non-indexed column matches
patch by Caleb Rackliffe; reviewed by David Capwell for CASSANDRA-20189
2025-02-06 13:32:39 -06: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
Caleb Rackliffe a118a704cb Avoid under-skipping during intersections when an iterator has mixed STATIC and WIDE keys
patch by Caleb Rackliffe; reviewed by David Capwell for CASSANDRA-20258
2025-02-03 16:02:43 -06:00
Josh McKenzie a9f2c7f4ba Merge branch 'cassandra-4.1' into cassandra-5.0
# Conflicts:
#	CHANGES.txt
2025-02-03 11:00:11 -05: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
Caleb Rackliffe 225eb2feeb Correct the default behavior of compareTo() when comparing WIDE and STATIC PrimaryKeys
patch by Caleb Rackliffe; reviewed by David Capwell for CASSANDRA-20238
2025-01-27 15:05:44 -06:00
Stefan Miklosovic 0d420a0df4
Merge branch 'cassandra-4.1' into cassandra-5.0 2025-01-27 08:26:53 +01: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 975c309eee Merge branch 'cassandra-4.1' into cassandra-5.0 2025-01-24 15:00:52 -08: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
Marcus Eriksson 751d3f24cf
Make sure we can set parameters when configuring CassandraCIDRAuthorizer
patch by Marcus Eriksson; reviewed by Stefan Miklosovic for CASSANDRA-20220
2025-01-22 01:08:14 +01:00
Blake Eggleston 0cc7a03523 Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Use mutation creation time for hint expiry rather than hint submission time
2025-01-21 12:13:37 -08:00
Blake Eggleston 246e65e69c Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Use mutation creation time for hint expiry rather than hint submission time
2025-01-21 12:10:53 -08:00
Matt Byrd 4f0ad22f12 Use mutation creation time for hint expiry rather than hint submission time
patch by Matt Byrd; reviewed by Chris Lohfink, reviewed by Blake Eggleston for CASSANDRA-20014
2025-01-21 12:05:00 -08:00
Sunil Ramchandra Pawar 79630fb42a Add selected SAI index state and query performance metrics to nodetool tablestats
patch by Sunil Ramchandra Pawar; reviewed by Caleb Rackliffe, Matt Byrd, and Maxim Muzafarov for CASSANDRA-20026
2025-01-17 12:24:27 -06:00
Sam Tunnicliffe 217490bdd8 Merge branch 'cassandra-4.1' into cassandra-5.0 2025-01-17 09:09:56 +00:00
Sam Tunnicliffe d14d16926e Merge branch 'cassandra-4.0' into cassandra-4.1 2025-01-17 09:08:09 +00:00
Brandon Williams ba73f7ce34 Merge branch 'cassandra-4.1' into cassandra-5.0 2025-01-16 13:54:12 -06:00
Brandon Williams 18c777f641 Merge branch 'cassandra-4.0' into cassandra-4.1 2025-01-16 13:53:59 -06:00
Kristijonas Zalys 7ffbd714b4 Set setIsShutdownUnsafeForTests(true) in dtests to fix shutdown race condition
Patch by Kristijonas Zalys, reviewed by brandonwilliams and mck for
CASSANDRA-18440
2025-01-16 13:52:51 -06:00
Sam Tunnicliffe 332341b9b6 Merge branch 'cassandra-4.1' into cassandra-5.0 2025-01-13 09:50:38 +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
Caleb Rackliffe 184887069f Remove v30 and v3X from 5.x in-JVM upgrade tests
patch by Caleb Rackliffe; reviewed by Mick Semb Wever and Brandon Williams for CASSANDRA-20103
2025-01-10 13:13:12 -06:00
Brandon Williams 02755193f9 Merge branch 'cassandra-4.1' into cassandra-5.0 2025-01-08 13:40:55 -06:00
Brandon Williams 0edd63287b Merge branch 'cassandra-4.0' into cassandra-4.1 2025-01-08 13:40:41 -06:00
Brandon Williams b074675c37 Add in-jvm dtest for durable writes
Patch by brandonwilliams; reviewed by smiklosovic for CASSANDRA-19601
2025-01-08 13:40:02 -06:00
David Capwell 8125a69480 Merge branch 'cassandra-4.1' into cassandra-5.0 2025-01-07 17:45:52 -08: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
Dmitry Konstantinov 4ae1aee39b
Avoid memory allocation in NativeCell.valueSize() and NativeClustering.dataSize()
patch by Dmitry Konstantinov; reviewed by Branimir Lambov, Mick Semb Wever for CASSANDRA-20162
2025-01-04 21:55:31 +01:00
Marcus Eriksson f9ab5cf797 Add flag to avoid invalidating key cache on sstable deletions
Patch by marcuse; reviewed by Caleb Rackliffe for CASSANDRA-20068
2024-12-11 10:27:11 +01:00
Caleb Rackliffe 2651623af6 Interpret inet, bigint, varint, and decimal as non-reversed types for query construction and post-filtering
patch by Caleb Rackliffe; reviewed by David Capwell for CASSANDRA-20100
2024-12-09 15:06:02 -06:00
Yifan Cai 1655578ae8 Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Enhance CQLSSTableWriter to notify client on sstable production
2024-11-22 14:59:16 -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
Caleb Rackliffe 376fe2a9fe Streamline the serialized format for index status gossip messages
patch by Caleb Rackliffe; reviewed by David Capwell for CASSANDRA-20058
2024-11-21 14:59:38 -06:00
Mick Semb Wever 0d9d67bcb1
Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  A node should always return back the full information about itself for gossip regardless the asked heartbeat version
2024-11-19 00:49:52 +01:00
Mick Semb Wever 7559e2708a
Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  A node should always return back the full information about itself for gossip regardless the asked heartbeat version
2024-11-19 00:38:23 +01:00
Runtian Liu 426eebb513
A node should always return back the full information about itself for gossip regardless the asked heartbeat version
patch by Runtian Liu; reviewed by Brandon Williams, Michael Semb Wever for CASSANDRA-19983
2024-11-19 00:23:45 +01:00
Bereng af140beee5 Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Flaky PstmtPersistenceTest take 2
2024-11-15 13:25:40 +01: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 022002531d Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Flaky PstmtPersistenceTest
2024-11-11 09:47:11 +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