Commit Graph

14071 Commits

Author SHA1 Message Date
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
Caleb Rackliffe be507c6e99 Warn clients about possible consistency violations for filtering queries against multiple mutable columns
patch by Caleb Rackliffe; reviewed by David Capwell and Berenguer Blasi for CASSANDRA-19489
2024-04-03 16:31:55 -05: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
Brandon Williams 389479c9a2 Align buffer with commitlog segment size
Patch by brandonwilliams and blambov; reviewed by bereng for
CASSANDRA-19471
2024-03-25 06:33:47 -05: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
Caleb Rackliffe 8a33f32350 Deprecate Python 3.7 and earlier, but allow cqlsh to run with Python 3.6-3.11
patch by Caleb Rackliffe; reviewed by Brandon Williams and Stefan Miklosovic for CASSANDRA-19467
2024-03-19 23:41:47 -05: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
Brandon Williams bd2803307e Merge branch 'cassandra-4.1' into cassandra-5.0 2024-03-14 10:27:49 -05:00
Brandon Williams 8502da494c Merge branch 'cassandra-4.0' into cassandra-4.1 2024-03-14 10:26:06 -05:00
arkn98 a2fbb17867 Push LocalSessions info logs to debug
Patch by arkn98; reviewed by bereng and brandonwilliams for CASSANDRA-18335
2024-03-14 10:24:38 -05: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
Brandon Williams 194a41baea Add export for remote JMX security for j17
Patch by brandonwilliams; reviewed by smiklosovic for CASSANDRA-19453
2024-03-04 14:16:59 -06: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
Stefan Miklosovic 106be29feb
Merge branch 'cassandra-4.1' into cassandra-5.0 2024-02-29 12:00:37 +01:00
Stefan Miklosovic e120088d44
Merge branch 'cassandra-4.0' into cassandra-4.1 2024-02-29 11:40:57 +01:00
Stefan Miklosovic a124cfce85
Merge branch 'cassandra-3.11' into cassandra-4.0 2024-02-29 11:38:39 +01:00
Abe Ratnofsky 099fdf2673
Move ClientWarn.State#warnings to a thread-safe list
patch by Abe Ratnofsky; reviewed by Caleb Rackliffe, Stefan Miklosovic for CASSANDRA-19427
2024-02-29 11:33:03 +01: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
Ekaterina Dimitrova 53cd2d8286 Fix VectorMemoryIndex#update logic to compare vectors
Fix Index view

patch by Ekaterina Dimitrova; reviewed by Andres de la Pena for CASSANDRA-19168
2024-02-23 13:57:24 -05:00
Stefan Miklosovic 2482c8a936
Merge branch 'cassandra-4.1' into cassandra-5.0 2024-02-23 14:52:32 +01:00
Stefan Miklosovic 95fcefede2
Merge branch 'cassandra-4.0' into cassandra-4.1 2024-02-23 14:51:06 +01:00
Stefan Miklosovic 5430e69e77
Merge branch 'cassandra-3.11' into cassandra-4.0 2024-02-23 14:49:06 +01:00
Stefan Miklosovic af5733124d
Merge branch 'cassandra-3.0' into cassandra-3.11 2024-02-23 14:48:02 +01:00
Jack Green 98eea87aa5
Fix SCM URL links
patch by Jack Green; reviewed by Stefan Miklosovic and Brandon Williams for CASSANDRA-19422
2024-02-23 14:43:41 +01: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
Stefan Miklosovic 5aefc95fbe
Merge branch 'cassandra-4.1' into cassandra-5.0 2024-02-22 10:01:13 +01:00
Stefan Miklosovic 5f63b0ade1
Merge branch 'cassandra-4.0' into cassandra-4.1 2024-02-22 09:58:10 +01:00
maoling 8c4a58f035
Remove redundant code in StorageProxy#sendToHintedReplicas
patch by Ling Mao; reviewed by Stefan Miklosovic, Brandon Williams and Maxwell Guo for CASSANDRA-19412
2024-02-22 09:54:08 +01:00
Stefan Miklosovic 5ae1294cb1
Merge branch 'cassandra-4.1' into cassandra-5.0 2024-02-21 09:15:00 +01:00
Stefan Miklosovic 6250ba7929
Merge branch 'cassandra-4.0' into cassandra-4.1 2024-02-21 09:08:53 +01:00
Stefan Miklosovic 98d0e181d5
Remove bashisms for mx4j tool in cassandra-env.sh
/bin/sh (our shebang in bin/cassandra) does not recognize the
`if` construct which is available in /bin/bash only hence if
MX4J_ADDRESS or MX4J_PORT was not commented out, the script would
fail to execute it.

patch by Stefan Miklosovic; reviewed by Brandon Williams for CASSANDRA-19416
2024-02-21 08:37:23 +01:00
Stefan Miklosovic a9a7dd0caf
increment version to 4.1.5 2024-02-14 21:18:44 +01:00
Stefan Miklosovic 8b037a6c84
Deprecate native_transport_port_ssl
patch by Stefan Miklosovic; reviewed by Abe Ratnofsky, Brandon Williams for CASSANDRA-19392
2024-02-14 15:49:01 +01:00
Brandon Williams 69f735d61f Update packaging shell includes for j17
Patch by brandonwilliams; reviewed by bereng for CASSANDRA-19283
2024-02-08 06:09:45 -06: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