Commit Graph

6828 Commits

Author SHA1 Message Date
Jon Meredith 6559983d6c Merge branch 'cassandra-4.1' into cassandra-5.0 2024-04-25 14:01:41 -06:00
Jon Meredith 858a2b2321 Merge branch 'cassandra-4.0' into cassandra-4.1 2024-04-25 14:00:47 -06:00
Jon Meredith 9157d98e4c Streaming exception race creates corrupt transaction log files that prevent restart
patch by Jon Meredith; reviewed by Caleb Rackliffe, David Capwell for CASSANDRA-18736
2024-04-25 13:59:59 -06:00
Jacek Lewandowski 82297b490e Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Fix few types issues and implement types compatibility tests
2024-04-18 12:33:55 +02:00
Jacek Lewandowski 445ae1a4b1 Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Fix few types issues and implement types compatibility tests
2024-04-18 12:33:54 +02:00
Jacek Lewandowski f92998190c Fix few types issues and implement types compatibility tests
Patch by Jacek Lewandowski; reviewed by Stefan Miklosovic for CASSANDRA-19479
2024-04-18 12:33:52 +02:00
Caleb Rackliffe 9bfaee91c4 Optionally fail writes when SAI refuses to index a term value exceeding a configured maximum size
patch by Caleb Rackliffe; reviewed by Berenguer Blasi and Stefan Miklosovic for CASSANDRA-19493
2024-04-17 11:12:42 -05:00
Mick Semb Wever cada1a13c8
Vector search should be able to restrict on clustering keys when filtering isn't required
patch by Mick Semb Wever; reviewed by Caleb Rackliffe for CASSANDRA-19544
2024-04-11 00:25:59 +02:00
Mick Semb Wever f7c11bdcd4
Standalone Jenkinsfile
– ensure test file paths, and their suite names are unique (the latter was broken for cqlshlib and python dtests)
 – removal of properties and system-out in test xml happens in CassandraXMLJUnitResultFormatter
 – new jenkins agent labels and introduce agents sizes
 - ci_summary.html generation script, ref work submitted in apache/cassandra-builds#99
 – fix for stress-test and fqltool-test running on small
 - ant generate-test-report is limited to only running on individual test types (ci_parser.py provides ci_summary.html for the overview now)
 - each cell has a single retry, and the retry will happen on a different agent
 - on ci-cassandra the summary stage happens on the builtin, bc copyArtifacts on 15k+ files takes many hours otherwise
 - test-burn only needs two splits
 - dependency-check is disabled from the lint target until CASSANDRA-19213
 - add $DEBUG env var to in-tree scripts, turns on bash debug
 - fix FBUtilities' handling of gcp cos_containerd (kernel version comes with a trailing '+' character)

 patch by Aleks Volochnev, Mick Semb Wever; reviewed by Aleksandr Volochnev, Josh McKenzie, Maxim Muzafarov, Stefan Miklosovic for CASSANDRA-18594

Co-authored-by: Aleksandr Volochnev <a.volochnev@gmail.com>
Co-authored-by: Mick Semb Wever <mck@apache.org>
Co-authored-by: Josh McKenzie <jmckenzie@apache.org>
Co-authored-by: Artem Chekunov <artem.v.chekunov@gmail.com>
2024-04-04 11:56:36 +02:00
Ekaterina Dimitrova b0150e86fb Clean up KeyRangeIterator classes
* replace KeyRangeConcatIterator's PriorityQeueu with List
* remove KeyRangeIterator.current and simplify
* remove injected exception and tests - not relevant to the current implementation
* expand randomized testing
* inline getCurrent() -> peek(); rename getCount to getMaxKeys
* redefine skipTo contract to not return a value (which saves unnecessary work when skipTo is called multiple times in a row)
* calling hasNext in skipTo is a pessimization; if the iterator is in DONE state, then skipTo will see it and avoid further effort; if it is not, then we are computing a next value that we're just going to throw away
* fix SingleNodeQueryFailureTest - tests now multi and single index
* rationalize/standardize the way we release SSTableIndexes in QueryController

patch by Ekaterina Dimitrova; reviewed by Caleb Rackliffe, Ekaterina Dimitrova for CASSANDRA-19428

Co-authored-by: Caleb Rackliffe <calebrackliffe@gmail.com>
Co-authored-by: Jonathan Ellis <jbellis@apache.org>
Co-authored-by: Piotr Kolaczkowski <pkolaczk@datastax.com>
Co-authored-by: Michael Marshall <michael.marshall@datastax.com>
2024-04-03 18:24:27 -04:00
David Capwell ca0b77d743 Repair fuzz tests fail with paxos_variant: v2
patch by David Capwell; reviewed by Blake Eggleston, Ekaterina Dimitrova for CASSANDRA-19042
2024-03-26 13:04:02 -07:00
Stefan Miklosovic 35d6e6ce9c
Merge branch 'cassandra-4.1' into cassandra-5.0 2024-03-25 14:19:01 +01:00
Stefan Miklosovic 38408938cc
Do not go to disk for reading hints file sizes
patch by Stefan Miklosovic; reviewed by Aleksey Yeschenko, Jon Haddad, Chris Lohfink for CASSANDRA-19477
2024-03-25 14:08:02 +01:00
Caleb Rackliffe 46acaf22e6 Ensure SAI indexes empty byte buffers for types that allow them as a valid input
patch by Caleb Rackliffe; reviewed by David Capwell for CASSANDRA-19461

Co-authored-by: Caleb Rackliffe <calebrackliffe@gmail.com>
Co-authored-by: David Capwell <dcapwell@apache.org>
2024-03-22 11:33:27 -05:00
Mike Adamson 7aab61b063 Use glove vectors instead of random vectors in vector tests
- avoid randomisation to make tests more consistent
- use heap_buffers for VectorDistributedTest for consistency with other tests

patch by Mike Adamson; reviewed by Ekaterina Dimitrova for CASSANDRA-19185
2024-03-21 12:56:26 +00:00
Stefan Miklosovic 36a1ca5e48
Merge branch 'cassandra-4.1' into cassandra-5.0 2024-03-19 14:57:11 +01:00
Stefan Miklosovic e4ae1f3a4f
Fix system_views.settings to handle array types
patch by Stefan Miklosovic; reviewed by Brandon Williams for CASSANDRA-19475
2024-03-19 14:55:42 +01:00
Stefan Miklosovic 2f836fa596
Set uuid_sstable_identifiers_enabled to true for cassandra-latest.yaml
patch by Stefan Miklosovic; reviewed by Branimir Lambov, Jacek Lewandowski for CASSANDRA-19460
2024-03-12 13:33:08 +01:00
arkn98 a26fa6cf2c Revert switching to approxTime in Dispatcher
Patch by Arun Ganesh; reviewed by Caleb Rackliffe and David Capwell for CASSANDRA-19454
2024-03-07 15:35:30 -06:00
Branimir Lambov 06ed1afc34 Add an optimized default configuration to tests and make it available for new users
This patch adds a new configuration file, cassandra_latest.yaml, which changes
some of the settings to use new features we usually recommend to users,
including:
- Big Trie-Indexed SSTables
- Trie memtables
- Unified Compaction Strategy
- Storage Attached Index
- Off-heap objects memtables
- Direct-write commit log
- No storage compatibility

These changes are applied in new test targets for unit, in-jvm and python dtests that are
run pre-commit. When changes are made to the new config file, python dtest will use it
directly, but unit and in-jvm dtests require updates, respectively, to latest_diff.yaml
and InstanceConfig.java.

patch by Branimir Lambov; reviewed by Berenguer Blasi for CASSANDRA-18753
2024-03-07 11:08:44 +02:00
Caleb Rackliffe f7984627e7 Avoid possible consistency violations for SAI intersection queries over partially updated rows at consistency levels that require reconciliation
- Replica filtring protection now correctly accounts for short reads caused by coordinator filtering of merged rows.
- There is a new flag in ReadCommand that indicates whether the user query it belongs to requires reconciliation.
- Local SAI queries now degrade intersections to unions on unrepaired data if reconciliation is required and multiple mutable columns are restricted.

patch by Caleb Rackliffe; reviewed by Andres de la Peña and Alex Petrov for CASSANDRA-19018

Co-authored-by: Caleb Rackliffe <calebrackliffe@gmail.com>
Co-authored-by: Alex Petrov <oleksandr.petrov@gmail.com>
2024-02-29 15:03:00 -06:00
Ekaterina Dimitrova 54cf65476a Fix NullPointerException in ANN+WHERE when adding rows in another partition
patch by Ekaterina Dimitrova; reviewed by Andres de la Pena for CASSANDRA-19404
2024-02-29 09:17:59 -05:00
Caleb Rackliffe 1d7bae3697 Record latencies for SAI post-filtering reads against local storage
patch by Caleb Rackliffe; reviewed by Mike Adamson for CASSANDRA-18940
2024-02-26 15:22:44 -06:00
Stefan Miklosovic bfc6e1241d
Merge branch 'cassandra-4.1' into cassandra-5.0 2024-02-23 00:03:53 +01:00
Stefan Miklosovic b6b291e3bb
Merge branch 'cassandra-4.0' into cassandra-4.1 2024-02-22 23:56:48 +01:00
Runtian Liu c2041ba45b
Filter remote DC replicas out when constructing the initial replica plan for the local read repair
patch by Runtian Liu; reviewed by Blake Eggleston and Stefan Miklosovic for CASSANDRA-19120
2024-02-22 23:21:16 +01:00
Andrés de la Peña 5b9321eee1 Merge branch 'cassandra-4.1' into cassandra-5.0 2024-02-08 11:33:23 +00:00
Andrés de la Peña 89a8155916 Merge branch 'cassandra-4.0' into cassandra-4.1 2024-02-08 11:11:07 +00:00
Andrés de la Peña 505f5af645 Ensure that repair doesn't exceed repair_session_space by running limiting validation parallelism
patch by Andrés de la Peña; reviewed by David Capwell for CASSANDRA-19336

Co-authored-by: Andrés de la Peña <a.penya.garcia@gmail.com>
Co-authored-by: David Capwell <dcapwell@apache.org>
2024-02-08 11:09:21 +00:00
Jacek Lewandowski 78dca99973 Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Backport CASSANDRA-16418 to 3.x
2024-02-07 15:12:03 +01:00
Jacek Lewandowski d9dbd5e1d0 Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Backport CASSANDRA-16418 to 3.x
2024-02-07 15:12:02 +01:00
Jacek Lewandowski 9613af24f3 Merge branch 'cassandra-3.11' into cassandra-4.0
* cassandra-3.11:
  Backport CASSANDRA-16418 to 3.x
2024-02-07 15:12:01 +01:00
Jacek Lewandowski 2170825f0e Merge branch 'cassandra-3.0' into cassandra-3.11
* cassandra-3.0:
  Backport CASSANDRA-16418 to 3.x
2024-02-07 15:12:00 +01:00
Szymon Miężał 5be57829b0 Backport CASSANDRA-16418 to 3.x
When a node is decommissioned, it triggers data transfer to other nodes.
During this transfer process, receiving nodes temporarily hold token ranges in a pending state.
However, the current cleanup process doesn't account for these pending ranges when calculating token ownership,
leading to inadvertent cleanup of data already stored in SSTables.
To address this issue, this patch introduces two changes.
Firstly, it backports CASSANDRA-16418, introducing a preventive check in `StorageService#forceKeyspaceCleanup`.
This check disallows the initiation of cleanup when a node contains any pending ranges for the requested keyspace.
Secondly, it reintroduces a similar condition to test for the existence of pending ranges in `CompactionManager#performCleanup`.
This ensures the safety of this API as well.

Patch by Szymon Miezal; reviewed by Brandon Williams, Jacek Lewandowski for CASSANDRA-18824

Co-authored-by: Szymon Miezal <szymon.miezal@datastax.com>
Co-authored-by: Jacek Lewandowski <lewandowski.jacek@gmail.com>
2024-02-07 15:11:59 +01:00
Ekaterina Dimitrova 1e8a1a21ab Fix data corruption in VectorCodec when using heap buffers
patch by Ekaterina Dimitrova, reviewed by Andres de la Pena for CASSANDRA-19168
2024-01-30 16:59:13 -05:00
Caleb Rackliffe 87f2a7b763 Avoid over-skipping of key iterators from static column indexes during mixed intersections
patch by Caleb Rackliffe; reviewed by Piotr Kołaczkowski and Alex Petrov for CASSANDRA-19278

Co-authored-by: Caleb Rackliffe <calebrackliffe@gmail.com>
Co-authored-by: Piotr Kołaczkowski <pkolaczk@gmail.com>
2024-01-29 09:47:57 -06:00
Jacek Lewandowski d422eb1f35 Fix storage_compatibility_mode for streaming
- Rename and refactor a bit property for overriding storage compatibility mode
- Fix streaming for tools
- consider bulkloader as a client instead of tool

Patch by Jacek Lewandowski; reviewed by Berenguer Blasi, Branimir Lambov for CASSANDRA-19126
2024-01-23 14:24:06 +01:00
Szymon Miężał c76b32492f Add support of vector type to cqlsh COPY command
This patch adds a converter that allows parsing vector literals
passed via csv files to the COPY command.

patch by Szymon Miezal; reviewed by Andrés de la Peña, Stefan Miklosovic and Maxwell Guo for CASSANDRA-19118
2024-01-22 14:35:32 +00:00
Stefan Miklosovic 016dd6ca37
Make CQLSSTableWriter to support building of SAI indexes
patch by Stefan Miklosovic; reviewed by Caleb Rackliffe, Doug Rohrer for CASSANDRA-18714
2024-01-22 09:59:19 +01:00
Bereng 666f7df803 Enhanced usage of test method names in CQLTester for better test debugging
patch by Berenguer Blasi, Benjamin Lerer; reviewed by Benjamin Lerer for CASSANDRA-19050

Co-authored-by: Benjamin Lerer <b.lerer@gmail.com>
Co-authored-by: Berenguer Blasi <berenguerblasi@gmail.com>
2024-01-18 07:06:18 +01:00
Stefan Miklosovic e077c93f0e
Merge branch 'cassandra-4.1' into cassandra-5.0 2024-01-11 11:32:41 +01:00
Stefan Miklosovic fa6e06c933
Merge branch 'cassandra-4.0' into cassandra-4.1 2024-01-11 11:30:25 +01:00
Runtian Liu ee9e418782
Skip version check if an endpoint is dead state in Gossiper#upgradeFromVersionSupplier
patch by Runtian Liu; reviewed by Stefan Miklosovic and Brandon Williams for CASSANDRA-19187
2024-01-11 10:37:11 +01:00
Ekaterina Dimitrova 50d0b2731b Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Fix flaky test org.apache.cassandra.tools.BulkLoaderTest.testBulkLoader_WithArgs1
2024-01-10 13:25:29 -05:00
Ekaterina Dimitrova dc6afb0cf3 Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Fix flaky test org.apache.cassandra.tools.BulkLoaderTest.testBulkLoader_WithArgs1
2024-01-10 13:22:35 -05:00
Ekaterina Dimitrova 290a5990d4 Fix flaky test org.apache.cassandra.tools.BulkLoaderTest.testBulkLoader_WithArgs1
patch by Ekaterina Dimitrova; reviewed by Berenguer Blasi for CASSANDRA-19205
2024-01-10 13:12:00 -05:00
Paulo Motta e04a3176ff Merge branch 'cassandra-4.1' into cassandra-5.0
Closes #3004
2024-01-10 11:21:37 -05:00
Paulo Motta 3d1b981d89 Merge branch 'cassandra-4.0' into cassandra-4.1
Closes #2968
2024-01-10 11:18:34 -05:00
Isaac Reath 475c0035e6 [CASSANDRA-18999] Gossiper::hasMajorVersion3Nodes returns true when a cluster is upgrading patch version without Cassandra 3 nodes.
This commit fixes Gossiper::hasMajorVersion3Nodes so that it does not return true when all hosts have a known version, no hosts are on a version earlier than 4.0, and there is a 4.x minor version or patch version upgrade in progress. Additionally, this commit improves the clarity of Gossiper::hasMajorVersion3Nodes's name to indicate that it will return true when the cluster has 3.x nodes or if the cluster state is unknown, matching the description in the in-line comment.

patch by Isaac Reath; reviewed by Paulo Motta and Stefan Miklosovic for CASSANDRA-18999

Closes #2967
2024-01-10 11:14:49 -05:00
Caleb Rackliffe 14c773d8bc Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Revert unnecessary read lock acquisition when reading ring version in TokenMetadata introduced in CASSANDRA-16286
2024-01-09 15:05:25 -06:00