Commit Graph

19235 Commits

Author SHA1 Message Date
Stefan Miklosovic 8cc2b48192
Merge branch 'cassandra-5.0' into trunk 2023-10-02 14:00:01 +02:00
Stefan Miklosovic 90e12e3fc9
Merge branch 'cassandra-4.1' into cassandra-5.0 2023-10-02 13:57:57 +02:00
Stefan Miklosovic 4974a8237c
Merge branch 'cassandra-4.0' into cassandra-4.1 2023-10-02 13:18:40 +02:00
Cameron Zemek cb1f1399b1
Improve performance of compactions when table does not have an index
patch by Cameron Zemek; reviewed by Branimir Lambov, Stefan Miklosovic for CASSANDRA-18773
2023-10-02 13:16:39 +02:00
Stefan Miklosovic fdbb975188
Merge branch 'cassandra-5.0' into trunk 2023-09-29 15:20:48 +02:00
Stefan Miklosovic b9f614f7e5
Remove deprecated properties in CompressionParams
This patch removes deprecated chunk_length_kb and sstable_compression in favor of
chunk_length_in_kb and class parameters.

The only deprecated compression parameter left, crc_check_chance (which is configurable outside
of compression parameters as a standalone table parameter) is meant to be treated separately.

patch by Stefan Miklosovic; reviewed by Maxim Muzafarov and Brandon Williams for CASSANDRA-18742
2023-09-29 15:19:12 +02:00
David Capwell c96185f188 Merge branch 'cassandra-5.0' into trunk 2023-09-27 16:22:22 -07:00
David Capwell 164fa7949d Add support for repair coordinator to retry messages that timeout
patch by David Capwell; reviewed by Caleb Rackliffe, Marcus Eriksson for CASSANDRA-18816
2023-09-27 16:21:36 -07:00
Jon Meredith cfe48de019 Merge branch 'cassandra-5.0' into trunk 2023-09-25 14:27:12 -06:00
Jon Meredith a4be70930f Merge branch 'cassandra-4.1' into cassandra-5.0 2023-09-25 14:26:14 -06:00
Jon Meredith b9586501a6 Internode legacy SSL storage port certificate is not hot reloaded on update
patch by Jon Meredith; reviewed by Dinesh Joshi, Francisco Guerrero for CASSANDRA-18681
2023-09-25 14:25:14 -06:00
Jacek Lewandowski 77912be753 Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Do not create sstable files before registering in txn
2023-09-25 19:37:39 +02:00
Jacek Lewandowski d16e8d3653 Do not create sstable files before registering in txn
Refactoring prevents the situation where some sstable components, like
data or index, are created before the new sstable is registered with
lifecycle transaction, which leads to a problem such that there is
a short time when incomplete sstable components are present. At the same
time, no transaction file is created, which leads to the possibility
that the sstable can be recognized as completed by various
transaction-aware listers.

Patch by Jacek Lewandowski; reviewed by Branimir Lambov, Mike Adamson for CASSANDRA-18737
2023-09-25 18:47:56 +02:00
Bereng 9aa2109803 Javadoc BigFormat
patch by Berenguer Blasi; reviewed by Ling Mao, Stefan Miklosovic for CASSANDRA-18786
2023-09-25 07:42:41 +02:00
Stefan Miklosovic c5bb672543
Merge branch 'cassandra-5.0' into trunk 2023-09-22 14:06:03 +02:00
Stefan Miklosovic 9f4368cbb7
Set io.netty.transport.noNative to false for in-jvm dtests
patch by Stefan Miklosovic; reviewed by Brandon Williams from CASSANDRA-18830
2023-09-22 14:03:52 +02:00
Branimir Lambov 970ec2d1db Merge branch 'cassandra-5.0' into trunk 2023-09-21 17:20:29 +03:00
Branimir Lambov a23f4c0b15 Merge branch 'cassandra-4.1' into cassandra-5.0 2023-09-21 17:01:16 +03:00
Branimir Lambov db6641fbb6 Merge branch 'cassandra-4.0' into cassandra-4.1 2023-09-21 16:59:04 +03:00
Branimir Lambov c6385ac3dd Merge branch 'cassandra-3.11' into cassandra-4.0 2023-09-21 16:02:01 +03:00
Ethan Brown 87c2af85c1 Fix delayed SSTable release with unsafe_aggressive_sstable_expiration
patch by Ethan Brown; reviewed by Branimir Lambov and Mick Semb Wever for CASSANDRA-18756
2023-09-21 15:53:27 +03:00
Runtian 20d80118ac
Add the ability to disable bulk loading of SSTables
patch by Runtian Liu; reviewed by Stefan Miklosovic, Andres de la Peña and Brandon Williams for CASSANDRA-18781
2023-09-19 13:10:03 +02:00
Stefan Miklosovic c2a4caa730
Merge branch 'cassandra-5.0' into trunk 2023-09-18 21:26:43 +02:00
Stefan Miklosovic ba255f4fc7
Do not log stacktrace on mismatched cache and schema version and checksum error in AutoSavingCache
patch by Stefan Miklosovic; reviewed by Brandon Williams for CASSANDRA-18862
2023-09-18 21:22:14 +02:00
Brandon Williams 1087d88303 Merge branch 'cassandra-5.0' into trunk 2023-09-15 12:59:25 -05:00
Brandon Williams dcfacad116 ninja fix unused import 2023-09-15 12:59:20 -05:00
Brandon Williams f7472774f4 Merge branch 'cassandra-5.0' into trunk 2023-09-15 12:30:29 -05:00
Brandon Williams 1ac31a64a9 Merge branch 'cassandra-4.1' into cassandra-5.0 2023-09-15 12:29:25 -05:00
Brandon Williams b8209a06fb Merge branch 'cassandra-4.0' into cassandra-4.1 2023-09-15 12:28:11 -05:00
Brandon Williams edde699a06 Merge branch 'cassandra-3.11' into cassandra-4.0 2023-09-15 12:23:59 -05:00
Brandon Williams edf22ed776 Revert 18543 but retain properties
Patch by brandonwilliams; reviewed by dcapwell for CASSANDRA-18854
2023-09-15 12:22:10 -05:00
Jacek Lewandowski 188df44c8c Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Remove wrong assertion in SSTableLoader
2023-09-15 09:07:46 +02:00
Jacek Lewandowski 15f355a006 Remove wrong assertion in SSTableLoader
Patch by Jacek Lewandowski; reviewed by Stefan Miklosovic for CASSANDRA-18840
2023-09-15 09:07:45 +02:00
Ekaterina Dimitrova 89065ffa21 Merge branch 'cassandra-5.0' into trunk 2023-09-14 12:15:45 -04:00
Ekaterina Dimitrova 2b23fc58aa Fix accessing java.nio.Bits.TOTAL_CAPACITY in Java17
patch by Ekaterina Dimitrova; reviewed by Stefan Miklosovoc and Mick Semb Wever for CASSANDRA-18848
2023-09-14 12:00:11 -04:00
Ekaterina Dimitrova 830f88d4ab Merge branch 'cassandra-5.0' into trunk 2023-09-12 10:26:31 -04:00
Maxim Muzafarov 6708499e4c Remove metrics-reporter-config dependency
patch by Maxim Muzafarov; reviewed by Ekaterina Dimitrova and Brandon Williams for CASSANDRA-18743
2023-09-12 10:14:59 -04:00
Brandon Williams e1ddc34f58 Merge branch 'cassandra-5.0' into trunk 2023-09-08 09:08:49 -05:00
Brandon Williams 4093be5295 Nodetool paxos-only repair is no longer incremental
Patch by Ningzi Zhan; reviewed by brandonwilliams, jlewandowski, and
Maxwell Guo for CASSANDRA-18466
2023-09-08 09:07:34 -05:00
Brandon Williams 725655dda2 Nodetool paxos-only repair is no longer incremental
Patch by Ningzi Zhan; reviewed by brandonwilliams, jlewandowski, and
Maxwell Guo for CASSANDRA-18466
2023-09-08 09:05:07 -05:00
Andrés de la Peña 1ba458c900 Merge branch 'cassandra-5.0' into trunk 2023-09-07 11:52:02 +01:00
Mike Adamson 9ce86e0ff8 SAI result retriever is filtering too many rows
This patch fixes a bug in the SegmentMetadata that
was only storing the partition key for min and max
primary keys for a segment. It also contains some
refactoring of the PrimaryKey to remove the deferred
loading of PrimaryKeys by the PrimaryKeyMaps.

Patch by Mike Adamson; reviewed by Caleb Rackliffe and Andrés de la Peña for CASSANDRA-18734
2023-09-07 11:50:08 +01:00
Bereng bd7dc322d8 Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Flaky test: org.apache.cassandra.cql3.validation.operations.InsertUpdateIfConditionTest
2023-09-04 09:22:55 +02:00
Bereng 52a8d2947a Flaky test: org.apache.cassandra.cql3.validation.operations.InsertUpdateIfConditionTest
patch by Berenguer Blasi; reviewed by Andres de la Peña for CASSANDRA-18393
2023-09-04 09:20:34 +02:00
Mick Semb Wever 1c3c5008f9
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Missing license info and headers
2023-08-31 22:44:38 +02:00
Mick Semb Wever 865954fd99
Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Missing license info and headers
2023-08-31 22:43:33 +02:00
Mick Semb Wever 20125c5053
Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Missing license info and headers
2023-08-31 22:41:56 +02:00
Mick Semb Wever aa2494b30b
Merge branch 'cassandra-3.11' into cassandra-4.0
* cassandra-3.11:
  Missing license info and headers
2023-08-31 22:39:56 +02:00
Mick Semb Wever 14e89fc3c7
Merge branch 'cassandra-3.0' into cassandra-3.11
* cassandra-3.0:
  Missing license info and headers
2023-08-31 22:36:33 +02:00
Mick Semb Wever ce49e775f7
Missing license info and headers
patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-18807
2023-08-31 22:30:42 +02:00
Stefan Miklosovic 1f1ec5f503
Merge branch 'cassandra-5.0' into trunk 2023-08-31 10:39:59 +02:00
Stefan Miklosovic 3d5b5343e0
Merge branch 'cassandra-4.1' into cassandra-5.0 2023-08-31 10:38:04 +02:00
Stefan Miklosovic d4cb791bdd
Merge branch 'cassandra-4.0' into cassandra-4.1 2023-08-31 10:35:42 +02:00
Stefan Miklosovic 94043fa9c6
Merge branch 'cassandra-3.11' into cassandra-4.0 2023-08-31 10:34:02 +02:00
Stefan Miklosovic be0c563097
Merge branch 'cassandra-3.0' into cassandra-3.11 2023-08-31 10:30:51 +02:00
Stefan Miklosovic 8bbf92a670
Refactor validation logic in StorageService.rebuild
patch by Stefan Miklosovic; reviewed by Ariel Weisberg for CASSANDRA-18803
2023-08-31 09:54:57 +02:00
Jon Meredith 16dc2a2393 Merge branch 'cassandra-5.0' into trunk 2023-08-29 10:44:00 -06:00
Jon Meredith d4d0abcd03 Merge branch 'cassandra-4.1' into cassandra-5.0 2023-08-29 10:42:53 -06:00
Jon Meredith bde4fa0013 Waiting indefinitely on ReceivedMessage response in StreamSession#receive() can cause deadlock
patch by Jon Meredith; reviewed by Caleb Rackliffe, David Capwell for CASSANDRA-18733
2023-08-29 10:42:03 -06:00
Brandon Williams 052a264741 Merge branch 'cassandra-5.0' into trunk 2023-08-28 06:14:45 -05:00
Brandon Williams c611632eb5 SamplingManager samples before cancelling.
Patch by brandonwilliams; reviewed by bereng for CASSANDRA-18065
2023-08-28 06:14:29 -05:00
Stefan Miklosovic 9e90ccc90f
Merge branch 'cassandra-5.0' into trunk 2023-08-28 10:04:05 +02:00
Stefan Miklosovic a9606c6f4b
Merge branch 'cassandra-4.1' into cassandra-5.0 2023-08-28 09:58:41 +02:00
Andy Tolbert b47bee42d3
Allow empty keystore_password in encryption_options
patch by Andy Tolbert; reviewed by Jon Meredith and Stefan Miklosovic for CASSANDRA-18778
2023-08-28 09:47:54 +02:00
Jon Meredith 6fb82b75d5 Merge branch 'cassandra-5.0' into trunk 2023-08-24 16:45:40 -06:00
Jon Meredith d2f8e8e105 Merge branch 'cassandra-4.1' into cassandra-5.0 2023-08-24 16:44:48 -06:00
Jon Meredith ac3b356063 Merge branch 'cassandra-4.0' into cassandra-4.1 2023-08-24 16:43:53 -06:00
Jon Meredith 4034fbb6dd Merge branch 'cassandra-3.11' into cassandra-4.0 2023-08-24 16:34:44 -06:00
Doug Rohrer c6d7d070c5 IsolatedJMX should not release all TCPEndpoints on instance shutdown
patch by Doug Rohrer; reviewed by Jon Meredith, Stefan Miklosovic for CASSANDRA-18725
2023-08-24 16:32:28 -06:00
Andrés de la Peña b265b4658e Forbid SAI indexes with analysis options on primary key columns
patch by Andrés de la Peña; reviewed by Caleb Rackliffe for CASSANDRA-18782
2023-08-24 10:08:28 +01:00
Stefan Miklosovic 51018940f6
Merge branch 'cassandra-4.1' into cassandra-5.0 2023-08-23 15:42:56 +02:00
Stefan Miklosovic 8666265521
Merge branch 'cassandra-4.0' into cassandra-4.1 2023-08-23 15:37:53 +02:00
Stefan Miklosovic d13b3ef61b
Merge branch 'cassandra-3.11' into cassandra-4.0 2023-08-23 15:33:00 +02:00
Stefan Miklosovic b1b9c04010
Merge branch 'cassandra-3.0' into cassandra-3.11 2023-08-23 15:22:09 +02:00
Roman Mushchinski 4ab31d34c8
Make alternation of a user type validate the same way as creation of a user type does
patch by Roman Mushchinski; reviewed by Stefan Miklosovic and Andres de la Peña for CASSANDRA-18585
2023-08-23 15:07:12 +02:00
Stefan Miklosovic f1f41e7579
Merge branch 'cassandra-4.1' into cassandra-5.0 2023-08-21 16:00:49 +02:00
Stefan Miklosovic 7c7d8f4414
Merge branch 'cassandra-4.0' into cassandra-4.1 2023-08-21 15:58:04 +02:00
Stefan Miklosovic 9d3b148887
Merge branch 'cassandra-3.11' into cassandra-4.0 2023-08-21 15:56:12 +02:00
Claude Warren 998f84a2cb
Fix NPE when using udfContext in UDF after a restart of a node
patch by Claude Warren; reviewed by Stefan Miklosovic and Andres de la Peña for CASSANDRA-18739
2023-08-21 14:44:02 +02:00
Jaydeepkumar Chovatia acb4993cd0
Expose bootstrap failure state via JMX and nodetool info
patch by Jaydeepkumar Chovatia; reviewed by Stefan Miklosovic and Brandon Williams for CASSANDRA-18749
2023-08-20 19:06:51 +02:00
Mike Adamson 655a2455ac Reduce size of per-SSTable index components for SAI
This patch removes the PRIMARY_KEY_TRIE component and adds KeyLookup.Cursor#clusteredSeekToKey() to
search for clustering keys within a partition. To do this a new on-disk component
PARTITION_SIZES has been added that holds the size of each partition in the SSTable.

patch by Mike Adamson; reviewed by Caleb Rackliffe and Andres de la Peña for CASSANDRA-18673
2023-08-18 14:36:49 -05:00
Stefan Miklosovic a60fb98f65
Merge branch 'cassandra-3.11' into cassandra-4.0 2023-08-18 18:40:12 +02:00
Stefan Miklosovic 141b85cfb7
Merge branch 'cassandra-3.0' into cassandra-3.11 2023-08-18 18:27:43 +02:00
Aleksey Yeschenko f0280fb6f8
Backport of CASSANDRA-16905 Further restrict schema column drop/recreate conversions
patch by Aleksey Yeschenko; reviewed by Blake Eggleston, Sam Tunnicliffe, and Caleb Rackliffe for CASSANDRA-16905

Co-authored by Aleksey Yeschenko (aleksey@apache.org)
Co-authored by Josh McKenzie (jmckenzie@apache.org)
2023-08-18 18:17:01 +02:00
Brandon Williams 0b593776d5 Merge branch 'cassandra-4.1' into cassandra-5.0 2023-08-18 05:11:53 -05:00
Brandon Williams cd3e564fb2 Merge branch 'cassandra-4.0' into cassandra-4.1 2023-08-18 05:11:33 -05:00
Brandon Williams fb395c6b8b Merge branch 'cassandra-3.11' into cassandra-4.0 2023-08-18 05:11:06 -05:00
Brandon Williams c870641475 Merge branch 'cassandra-3.0' into cassandra-3.11 2023-08-18 05:09:56 -05:00
Brandon Williams fd9f07dab8 Add speculative retries to tablestats
Patch by brandonwilliams; reviewed by bereng and Maxwell Guo for
CASSANDRA-18767
2023-08-18 05:07:08 -05:00
Stefan Miklosovic aa84b19112
Remove unnecessary Netty dependencies after upgrade to version 4.1.96
This patch also resolves CASSANDRA-18723 by bumping bcpkix-jdk15on of 1.70
to bcpkix-jdk18on of 1.76.

patch by Stefan Miklosovic; reviewed by Jacek Lewandowski CASSANDRA-18729
2023-08-17 11:24:37 +02:00
Branimir Lambov 9f187fafbd Revert checks for negative timestamp
Contrary to expectations, we do permit negative timestamps.
This reverts checks that treat such timestamps as corruption
introduced in CASSANDRA-18676.

patch by Branimir Lambov; reviewed by Ekaterina Dimitrova for CASSANDRA-18735
2023-08-11 00:31:00 +03:00
Ekaterina Dimitrova 000533cb63 Prevent InaccessibleObjectException when the Leak Detector is traversing objects
patch by Ekaterina Dimitrova, reviewed by Benjamin Lerer for CASSANDRA-18708
2023-08-11 15:40:34 -04:00
Stefan Miklosovic 7b89b6018d
Remove commitlog_sync_batch_window_in_ms
patch by Stefan Miklosovic; reviewed by Brandon Williams for CASSANDRA-17161
2023-08-09 20:04:34 +02:00
Andrés de la Peña 7482d88f48 Add guardrail for vector dimensions
patch by Andrés de la Peña; reviewed by Brandon Williams and Maxwell Guo for CASSANDRA-18730
2023-08-09 11:30:38 +01:00
Stefan Miklosovic fe9ad77fd7
Merge branch 'cassandra-4.1' into trunk 2023-08-02 18:39:56 +02:00
Brandon Williams 087e92724e Merge branch 'cassandra-4.1' into trunk 2023-08-02 10:46:59 -05:00
Brandon Williams 2f0adfac2b Merge branch 'cassandra-4.0' into cassandra-4.1 2023-08-02 10:45:18 -05:00
Saran Vinaiyak 8b331ddb4d Fix NTS log message when an unrecognized strategy option is passed
Patch by Saran Vinaiyak; reviewed by brandonwilliams and edimitrova for
CASSANDRA-18679
2023-08-02 10:42:58 -05:00
Yifan Cai 09d9067121 Merge branch 'cassandra-4.1' into trunk 2023-08-01 13:23:20 -07:00
Francisco Guerrero 9c796dfb27 Skip ColumnFamilyStore#topPartitions initialization when client or tool mode
This commit skips the initialization of `topPartitions` in `org.apache.cassandra.db.ColumnFamilyStore`
when running in client or tool mode. The `TopPartitionTracker` class will attempt to query the system
keyspace, which when running in client or tool mode will not be part of the KeyspaceMetadata. This
causes a warning to be printed out with a stacktrace that can be misleading. The warning is similar to
this:

```
WARN org.apache.cassandra.db.SystemKeyspace: Could not load stored top SIZES partitions for ...
org.apache.cassandra.db.KeyspaceNotDefinedException: keyspace system does not exist
        at org.apache.cassandra.schema.Schema.validateTable(Schema.java:xxx) ~[?:?]
        at org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:xxx) ~[?:?]
        at org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:xxx) ~[?:?]
        at org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:xxx) ~[?:?]
        at org.apache.cassandra.cql3.QueryProcessor.parseAndPrepare(QueryProcessor.java:xxx) ~[?:?]
        ...
```

In this commit, we check whether we run in client or tool mode, and skip initialization
of `topPartitions` in those cases.

Patch by Francisco Guerrero; Reviewed by Dinesh Joshi, Yifan Cai for CASSANDRA-18697
2023-08-01 13:14:40 -07:00
Ekaterina Dimitrova 1c7e7db2d0 Fix BulkLoader ignoring cipher suites options.
patch by Dan Jatnieks; reviewed by Ekaterina Dimitrova and Jon Meredith for CASSANDRA-18582
2023-08-01 14:38:01 -04:00
Ekaterina Dimitrova fb7e4e7c48 Merge branch 'cassandra-4.0' into cassandra-4.1 2023-08-01 13:59:52 -04:00
Daniel Jatnieks 4a2a585ec0 Fix BulkLoader ignoring cipher suites options.
patch by Dan Jatnieks; reviewed by Ekaterina Dimitrova and Jon Meredith for CASSANDRA-18582
2023-08-01 13:49:29 -04:00
Mick Semb Wever 5815f0d5eb
Fix (unsupported) big endian unaligned architecture (s390x)
patch by Shahid Shaikh; reviewed by Mick Semb Wever, Brandon Williams for CASSANDRA-17723
2023-07-29 10:39:56 +02:00
Shailaja Koppu 933137fb14 CIDR filtering authorizer
Patch by Shailaja Koppu, Yifan Cai; Reviewed by Dinesh Joshi, Yifan Cai for CASSANDRA-18592

Co-Authored-By: Yifan Cai <ycai@apache.org>
2023-07-28 20:10:02 -07:00
jkonisa f078c02cb5 Adding Mutual TLS authenticators for client & internode connections
Patch by Jyothsna Konisa & Dinesh Joshi; reviewed by Yifan Cai, Jon Meredith,
Yuki Morishita & Dinesh Joshi for CASSANDRA-18554

Co-Authored-By: Dinesh Joshi <djoshi@apache.org>
2023-07-28 13:54:06 -07:00
Andrés de la Peña 98680e8708 Remove 3.x from the versions checked for prepared statement behaviour
patch by Andrés de la Peña; reviewed by Mick Semb Wever for CASSANDRA-18695
2023-07-28 17:03:54 +01:00
Stefan Miklosovic c2d42500a8
Merge branch 'cassandra-4.1' into trunk 2023-07-28 17:16:05 +02:00
Stefan Miklosovic 778f9f3ed5
Merge branch 'cassandra-4.0' into cassandra-4.1 2023-07-28 17:11:15 +02:00
Stefan Miklosovic a0fdda1976
Remove AssertJ from the production code
patch by Stefan Miklosovic; reviewed by Brandon Williams for CASSANDRA-18700
2023-07-28 17:09:52 +02:00
Andrés de la Peña 5a82c04fd3 Add vector similarity functions
patch by Andrés de la Peña; reviewed by Ekaterina Dimitrova and Maxwell Guo for CASSANDRA-18640

Co-authored-by: Jonathan Ellis <jbellis@datastax.com>
Co-authored-by: Andrés de la Peña <a.penya.garcia@gmail.com>
2023-07-28 15:50:32 +01:00
Mick Semb Wever 4bbfd64fcd
Lift MessagingService.minimum_version to 40
patch by Mick Semb Wever; reviewed by Andrés de la Peña García, Maxim Muzafarov for CASSANDRA-18314
2023-07-28 16:13:32 +02:00
ayushis 6ab45971fc
Introduce pluggable crypto providers and default to Amazon Corretto Crypto Provider
patch by Ayushi Singh; reviewed by Stefan Miklosovic, Michael Semb Wever and Maxim Muzafarov for CASSANDRA-18624

Co-authored-by: Stefan Miklosovic <smiklosovic@apache.org>
2023-07-28 12:15:33 +02:00
Caleb Rackliffe 94964b54b6 minor fixes after rebase on trunk at c1bf002234 2023-07-26 13:35:07 -05:00
Caleb Rackliffe 83203a14c4 Importer should build SSTable indexes successfully before making new SSTables readable
- Avoid validation in response to SSTableAddedNotification, as it should already have been done somewhere else
- Change SSTableWriter to prevent commit when a failure is thrown out of an index build

patch by Caleb Rackliffe; reviewed by Mike Adamson and Andres de la Peña for CASSANDRA-18670
2023-07-26 13:35:07 -05:00
Caleb Rackliffe 3e38b3d641 Release notes and README updates for CEP-7 (Storage-Attached Indexes) 2023-07-26 13:35:07 -05:00
Caleb Rackliffe 394d4b1168 Add support for index implementation selection via USING for CREATE INDEX
patch by Caleb Rackliffe; reviewed by Maxwell Guo and Andres de la Peña for CASSANDRA-18615
2023-07-26 13:35:07 -05:00
Jonathan Ellis b57181032d Fix KeyRangeIntersectionIterator count
patch by Jonathan Ellis; reviewed by Andrés de la Peña
2023-07-26 13:35:07 -05:00
Mike Adamson 2531cb0458 Fix concurrency in bbtree reader by cloning state
patch by Mike Adamson; reviewed by Andrés de la Peña and Caleb Rackliffe for CASSANDRA-18669
2023-07-26 13:35:07 -05:00
Mike Adamson eb208d3561 Add basic text analysis to SAI, including "case_sensitive", "normalize", and "ascii" modes
patch by Mike Adamson; reviewed by Caleb Rackliffe and Andres de la Peña for CASSANDRA-18479
2023-07-26 13:35:07 -05:00
Mike Adamson cba3e19ccd Query all ranges at once for SAI distributed queries
patch by Mike Adamson; reviewed by Caleb Rackliffe, Andres de la Peña, and Berenguer Blasi for CASSANDRA-18515
2023-07-26 13:35:07 -05:00
Piotr Kołaczkowski b396faf913 Various changes to SAI index validation
- Fix checksum calculation in IncrementalChecksumSequentialWriter
- Checksum per-SSTable and per-column components after streaming
- Avoid validating indexes when full rebuild is requested

patch by Piotr Kołaczkowski; reviewed by Caleb Rackliffe and Andres de la Peña for CASSANDRA-18490

Co-authored-by: Piotr Kołaczkowski <pkolaczk@gmail.com>
Co-authored-by: Caleb Rackliffe <calebrackliffe@gmail.com>
2023-07-26 13:35:07 -05:00
Mike Adamson 6f125c8042 Numeric on-disk index write and search
Includes:
  - The disk/v1/kdtree package containing the
kdtree writer and reader
  - The implementation code to tie these into
the existing read and write paths. The main parts
of this are the NumericIndexWriter and the
NumericIndexSegmentSearcher
  - Additional testing for the new code

patch by Mike Adamson; reviewed by Caleb Rackliffe and Andres de la Peña for CASSANDRA-18067

Co-authored-by: Mike Adamson <madamson@datastax.com>
Co-authored-by: Caleb Rackliffe <calebrackliffe@gmail.com>
Co-authored-by: Piotr Kołaczkowski <pkolaczk@gmail.com>
Co-authored-by: Jason Rutherglen <jason.rutherglen@gmail.com>
Co-authored-by: Zhao Yang <zhaoyangsingapore@gmail.com>
2023-07-26 13:35:07 -05:00
Piotr Kołaczkowski 98fefc1557 Stream all compatible components registered by an SSTable
patch by Piotr Kołaczkowski; reviewed by Andrés de la Peña and Caleb Rackliffe for CASSANDRA-18345
2023-07-26 13:35:07 -05:00
Jonathan Ellis ebea2ba6ad Upgrade to lucene-core 9.7.0
Notes on the upgrade path:
- RamIndexOutput is replaced with ResettableByteBuffersIndexOutput, an extension of ByteBuffersIndexOutput, which was the closest thing to a replacement of RamIndexOutput.
- Lucene exposes the code we needed from DirectReaders more or less directly in DirectReader now, so the old copied code has been deleted.
- Lucene changed its data files to be little endian, but to keep its compatibility story simple it retained BE for the header and footer ints. That's the cause of the changes in SAICodecUtils.
- We could gain a bit of performance making our own code natively little endian but that is too big of a change for this patch.

patch by Jonathan Ellis; reviewed by Andrés de la Peña, Caleb Rackliffe, and Mike Adamson for CASSANDRA-18494
2023-07-26 13:35:07 -05:00
Zhao Yang 661a1d5bb6 fix Segment#intersects to compare bound instead of token 2023-07-26 13:35:07 -05:00
Zhao Yang 93b89b2e79 send SSTableAddedNotification before MemtableDiscardedNotification to fix index data visilibity issue 2023-07-26 13:35:07 -05:00
Caleb Rackliffe c712312b8f post-rebase fixes for the rebase on trunk at fad1f74570 2023-07-26 13:35:07 -05:00
Andrés de la Peña 01aeb616be Unify CQLTester#waitForIndex and SAITester#waitForIndexQueryable
patch by Andrés de la Peña; reviewed by Caleb Rackliffe for CASSANDRA-18521
2023-07-26 13:35:07 -05:00
Andrés de la Peña 631ae36ca5 Allow CQL queries on multiple indexes without ALLOW FILTERING
patch by Andrés de la Peña; reviewed by Berenguer Blasi for CASSANDRA-18217
2023-07-26 13:35:07 -05:00
Mike Adamson e5e0f3a844 Literal on-disk index and index write path (#9)
This commit contains the following additions
 to SAI:
 - The index write path and index building
   based around StorageAttachedIndexBuilder
   and StorageAttachedIndexWriter
 - The on-disk index versioning using the
   SSTable Descriptor analog IndexDescriptor
   with Version and OnDiskFormat
 - The literal on-disk index using the
   LiteralIndexWriter

patch by Mike Adamson; reviewed by Caleb Rackliffe and Andres de la Peña for CASSANDRA-18062

Co-authored-by: Mike Adamson <mikeatdot@gmail.com>
Co-authored-by: Caleb Rackliffe <calebrackliffe@gmail.com>
Co-authored-by: Andres de la Peña <a.penya.garcia@gmail.com>
Co-authored-by: Piotr Kołaczkowski <pkolaczk@gmail.com>
Co-authored-by: Jason Rutherglen <jason.rutherglen@gmail.com>
2023-07-26 13:35:07 -05:00
Mike Adamson cde91e56f0 In-memory index implementation with query path
This includes the following elements of the Storage Attached Index:
- Memtable-attached indexes backed by an in-memory trie structure for byte-comparable values
- Query path for the in-memory index
- Index status propagation
- Randomized testing for Memtable-attached indexes

patch my Mike Adamson; reviewed by Caleb Rackliffe and Andres de la Peña for CASSANDRA-18058

Co-authored-by: Mike Adamson <madamson@datastax.com>
Co-authored-by: Caleb Rackliffe <calebrackliffe@gmail.com>
2023-07-26 13:35:07 -05:00
Zhao Yang 303ca55a5d Add Index Group Interface for Storage Attached Index
patch by Zhao Yang; reviewed by Caleb Rackliffe and Andres de la Peña for CASSANDRA-16092

Co-authored-by: Caleb Rackliffe <calebrackliffe@gmail.com>
Co-authored-by: Andres de la Peña <a.penya.garcia@gmail.com>
2023-07-26 13:35:07 -05:00
Branimir Lambov a565711056 Fix data corruption handling issues
Treat AssertionError as corruption, assert positive deletion timestamps and
TTLs and treat localDeletionTime < TTL as invalid.

patch by Branimir Lambov; reviewed by Berenguer Blasi for CASSANDRA-18676
2023-07-25 08:07:03 +03:00
Bereng 2a458ba01d Improved DeletionTime serialization 2023-07-26 10:47:22 +02:00
Maulin Vasavada bbee4c87c4 Add equals/hashCode override for ServerEncryptionOptions
Patch by Maulin Vasavada; reviewed by brandonwilliams and smiklosovic
for CASSANDRA-18428
2023-07-25 16:13:56 -05:00
Ekaterina Dimitrova b92184e90c Update SyncUtil for JDK11 and JDK17
Remove --add-opens java.base/java.nio=ALL-UNNAMED which is not needed anymore

patch by Ekaterina Dimitrova; reviewed by Jacek Lewandowki for CASSANDRA-17909
2023-07-25 15:33:39 -04:00
Ekaterina Dimitrova b61bd93e57 Upgrade ecj version to 3.33.0
Bump source and target version to 11 for Java UDFs
ICompilationUnit has new default methods

patch by Ekaterina Dimitrova; reviewed by Andres de la Pena and Berenguer Blasi for CASSANRA-18190
2023-07-24 21:49:43 -04:00
Daniel Jatnieks fe8a6eb70f CASSANDRA-18180 Fix bulkLoaderSuccessfullyStreamsOverSsl fails with ClassCastException on JDK17
Fix ClassCastException  from jdk GaloisCounterMode when using JDK17 provider

Add javac exports to build.xml for java.base/jdk.internal.ref and java.base/sun.nio.ch

Replace checktestnameshelper ant task in build.xml with _check-test-names java target to be able to pass jvm args to TestNameCheckTask

patch by Dan Janieks; revewed by Ekaterina Dimitrova and Andres de la Pena for CASSANDRA-18180
2023-07-24 20:58:49 -04:00
KowalczykBartek 8faa2a2c69 Remove WaitingOnFreeMemtableSpace and DroppedMutations metrics
Patch by Bartlomiej, reviewed by bereng and brandonwilliams for
CASSANDRA-18298
2023-07-24 05:53:39 -05:00
Benjamin Lerer 600f4d9a69 Upgrade Jamm version to 0.4.0
This upgrade also fixes issues with PhantomReferences and the test problems from CASSANDRA-17884 anad CASSANDRA-16304

patch by Benjamin Lerer; reviewed by Ekaterina Dimitrova for CASSANDRA-18239
2023-07-22 14:55:49 -04:00
Benjamin Lerer b41e2f5b80 Fix eclipse problems
patch by Bejamin Lerer; reviewed by Ekaterina Dimitrova for CASSANDRA-18329
2023-07-22 14:29:22 -04:00
Mick Semb Wever 3bf9bd6831
Remove legacy 3.0/3.11 buffer pool metrics
patch by Mick Semb Wever; reviewed by Brandon Williams, Maxim Muzafarov for CASSANDRA-18313
2023-07-22 11:35:44 +02:00
Stefan Miklosovic c273017b25
Add AzureSnitch
As we were implementing the snitch itself, we noticed that the constructors
for cloud-based snitches are unnecessarilly complicated and
we took the opportunity to make them simpler.

patch by Stefan Miklosovic; reviewed by German Eichberger and Jacek Lewandowski for CASSANDRA-18646
2023-07-20 21:35:07 +02:00
Branimir Lambov 957eca2fb5 Implementation of the Unified Compaction Strategy as described in CEP-26
The approach is documented in the included UnifiedCompactionStrategy.md.

Also included:
- Generalize prettyPrint to prettyPrintBinary (with 2^10 multiplier,
  e.g. MiB) and prettyPrintDecimal (with 1000 multiplier, e.g. ms)
  that cover the full range of double, and add a parseHumanReadable
  method that can read both.

- CASSANDRA-18123: Fix invalid reuse of metadata collector during flushing

- Fix invalid token range splitting with non-unit weights

- Add flushSizeOnDisk metric

- Add ability to change compaction default in YAML

patch by Alex Sorokoumov, Branimir Lambov, Dimitar Dimitrov and Stefania Alborghetti
reviewed by Alex Sorokoumov, Jaroslaw Grabowski and Maxwell Guo for CASSANDRA-18397
2023-07-19 11:22:32 +03:00
Branimir Lambov e9198d6a66 Fix incorrect value of preload flag for opening BTI partition indexes
patch by Branimir Lambov; reviewed by Jacek Lewandowski for CASSANDRA-18677
2023-07-19 05:51:41 +03:00
timothytu12 00e5431d64 Upgrade commons cli to 1.5.0
Patch by Timothy Tu; reviewed by bereng and brandonwilliams for
CASSANDRA-18659
2023-07-18 06:07:29 -05:00
Daniel Jatnieks aac070681b Disable the deprecated keyspace/table thresholds and convert them to guardrails
patch by Daniel Jatnieks; reviewed by Andrés de la Peña and Brandon Williams for CASSANDRA-18617
2023-07-14 12:23:04 +01:00
Stefan Miklosovic 903857b4ef
Deprecate CloudstackSnitch and remove duplicate code in snitches
The patch also refactors existing cloud snitches to get rid of the duplicate code,
this is the logical follow-up of CASSANDRA-16555 where AbstractCloudMetadataServiceConnector was introduced.

patch by Stefan Miklosovic; reviewed by Jacek Lewandowski, Jackson Fleming and Maxwell Guo for CASSANDRA-18438
2023-07-14 12:38:30 +02:00
Andrés de la Peña ddbc52990f Add support for vectors in UDFs
patch by Andrés de la Peña; reviewed by Berenguer Blasi and Maxwell Guo for CASSANDRA-18613
2023-07-12 11:43:58 +01:00
Stefan Miklosovic bf11c9ae03
Merge branch 'cassandra-4.1' into trunk 2023-07-12 12:22:54 +02:00
Stefan Miklosovic d320cef8f9
Merge branch 'cassandra-4.0' into cassandra-4.1 2023-07-12 12:21:03 +02:00
Stefan Miklosovic 92c0459199
Merge branch 'cassandra-3.11' into cassandra-4.0 2023-07-12 12:20:00 +02:00
Stefan Miklosovic 7ec5126870
Fix CAST function for float to decimal
patch by Stefan Miklosovic; reviewed by Andres de la Peña and Brandon Williams for CASSANDRA-18647
2023-07-12 12:18:46 +02:00
Brandon Williams e1175aa6dc Merge branch 'cassandra-4.1' into trunk 2023-07-10 10:05:33 -05:00
Brandon Williams 461987627b Merge branch 'cassandra-4.0' into cassandra-4.1 2023-07-10 10:05:21 -05:00
Brandon Williams 6fa548f9e9 Revert "Allow internal address to change with reconnecting snitches"
This reverts commit b791644fda.

Patch by brandonwilliams; reviewed by bereng for CASSANDRa-18560
2023-07-10 10:04:32 -05:00
Andrés de la Peña c95e5a5567 Improve vector value validation errors
patch by Andrés de la Peña; reviewed by Ekaterina Dimitrova and Maxwell Guo for CASSANDRA-18652
2023-07-10 11:38:29 +01:00
Stefan Miklosovic e27ba0ea34
ninja: revert count output and changed fields in SSTableMetadataViewer
this patch also fixes incorrect visualisation of SSTable min/max local deletion time when no
tombstones are present in a SSTable

patch by Stefan Miklosovic; reviewed by Marcus Eriksson and Brandon Williams for CASSANDRA-18639
2023-07-08 13:46:08 +02:00
timothytu12 006ec71f63
Add duration and count of partition keys to sstablemetadata
patch by Timothy Tu; reviewed by Stefan Miklosovic and Brandon Williams for CASSANDRA-18639
2023-07-07 09:07:11 +02:00
Stefan Miklosovic 5735a9ccaa
Merge branch 'cassandra-4.1' into trunk 2023-07-04 13:48:38 +02:00
Stefan Miklosovic d2ad51c2f6
Merge branch 'cassandra-4.0' into cassandra-4.1 2023-07-04 13:46:51 +02:00
Stefan Miklosovic 0a53770ddc
Merge branch 'cassandra-3.11' into cassandra-4.0 2023-07-04 13:45:30 +02:00
Vincent White 028ea02a4a
Remove unrepaired SSTables from garbage collection when only_purge_repaired_tombstones is true
patch by Vincent White; reviewed by Stefan Miklosovic and Branimir Lambov for CASSANDRA-14204

Co-authored-by: Stefan Miklosovic <smiklosovic@apache.org>
2023-07-04 10:37:29 +02:00
Andrés de la Peña c579faa488 Remove deprecated compaction_tombstone_warning_threshold and compaction_large_partition_warning_threshold from yaml
patch by Andrés de la Peña; reviewed by Brandon Williams for CASSANDRA-18626
2023-06-28 21:50:15 +01:00
Caleb Rackliffe c3327855e4 Add a virtual table that exposes currently running queries
patch by Chris Lohfink; reviewed by Caleb Rackliffe and Benedict Elliott Smith for CASSANDRA-15241

Co-authored-by: Chris Lohfink <clohfink@apple.com>
Co-authored-by: Caleb Rackliffe <calebrackliffe@gmail.com>
Co-authored-by: Benedict Elliott Smith <benedict@apache.org>
2023-06-28 14:27:37 -05:00
Stefan Miklosovic ea5291c2ca
Merge branch 'cassandra-4.1' into trunk 2023-06-28 16:43:43 +02:00
Stefan Miklosovic a57f0396fa
Merge branch 'cassandra-4.0' into cassandra-4.1 2023-06-28 16:33:08 +02:00
Stefan Miklosovic b099aae3f0
Merge branch 'cassandra-3.11' into cassandra-4.0 2023-06-28 16:27:19 +02:00
Stefan Miklosovic b6fdc80456
Merge branch 'cassandra-3.0' into cassandra-3.11 2023-06-28 16:20:05 +02:00
Stefan Miklosovic 4ea7bb25b4
Add support for AWS Ec2 IMDSv2
patch by Stefan Miklosovic; reviewed by Jacek Lewandowski and Brandon Williams for CASSANDRA-16555

Co-authored-by: Jacek Lewandowski <lewandowski.jacek@gmail.com>
Co-authored-by: Paul Rütter <paul@blueconic.com>
2023-06-28 16:08:39 +02:00
Stefan Miklosovic eda0bcbefa
Merge branch 'cassandra-4.1' into trunk 2023-06-26 14:17:24 +02:00
Stefan Miklosovic 0dd69ab854
Merge branch 'cassandra-4.0' into cassandra-4.1 2023-06-26 14:09:29 +02:00
Stefan Miklosovic 04fd3747cf
Merge branch 'cassandra-3.11' into cassandra-4.0 2023-06-26 14:06:40 +02:00
Stefan Miklosovic 55dc5b43f1
Merge branch 'cassandra-3.0' into cassandra-3.11 2023-06-26 14:01:24 +02:00
Stefan Miklosovic a00d1de441
Pass taskId from CompactionTask to system.compaction_history
patch by Stefan Miklosovic; reviewed by Brandon Williams for CASSANDRA-12183
2023-06-26 13:55:49 +02:00
mghildiy 7998e22127
Enhance nodetool compactionstats with additional metrics
patch by Manish Ghildiyal; reviewed by Stefan Miklosovic, Brandon Williams for CASSANDRA-18305

Co-authored-by: Stefan Miklosovic <smiklosovic@apache.org>
2023-06-23 11:14:55 +02:00
David Capwell ae537abc64 Added support for type VECTOR<type, dimension>
patch by David Capwell; reviewed by Andres de la Peña, Maxwell Guo, Mike Adamson for CASSANDRA-18504
2023-06-22 08:43:53 -07:00
Stefan Podkowinski e67fa69114 Remove hard-coded SSL cipher suites and protocols
patch by Stefan Podkowinski; reviewed by Robert Stupp for CASSANDRA-10508

backported in CASSANDRA-18575 by German Eichberger; reviewed by
brandonwilliams
2023-06-21 06:25:18 -05:00
Stefan Miklosovic e2a6c99310
Expose bootstrap and decommission state to nodetool info
patch by Stefan Miklosovic; reviewed by Brandon Williams CASSANDRA-18555

Co-authored-by: Jaydeepkumar Chovatia <chovatia.jaydeep@gmail.com>
2023-06-20 22:31:05 +02:00
Stefan Miklosovic 6482d2ec89
Merge branch 'cassandra-4.1' into trunk 2023-06-19 17:17:45 +02:00
Stefan Miklosovic 579c724adf
Merge branch 'cassandra-4.0' into cassandra-4.1 2023-06-19 17:12:48 +02:00
Maciej Sokol 92d0a40c96
Fix assertion error when describing mv as table
patch by Maciej Sokol; reviewed by Brandon Williams and Stefan Miklosovic for CASSANDRA-18596
2023-06-19 17:08:12 +02:00
maxwellguo cc3e742c73 Fix SSTabledump errors when dumping data from index
patch by Maxwell Guo; reviewed by Andrés de la Peña and Branimir Lambov for CASSANDRA-17698
2023-06-19 13:22:48 +01:00
Stefan Miklosovic c7260399d6
Merge branch 'cassandra-4.1' into trunk 2023-06-15 13:24:48 +02:00
Stefan Miklosovic 2b98d487d0
Merge branch 'cassandra-4.0' into cassandra-4.1 2023-06-15 13:19:56 +02:00
Stefan Miklosovic 49dba85ec8
Merge branch 'cassandra-3.11' into cassandra-4.0 2023-06-15 13:16:44 +02:00
Cameron Zemek 64d953fdca
Wait for live endpoints in gossip waiting to settle
patch by Cameron Zemek; reviewed by Stefan Miklosovic and Brandon Williams for CASSANDRA-18543
2023-06-15 12:59:13 +02:00
Brandon Williams 4f5cb2a6fa Merge branch 'cassandra-4.1' into trunk 2023-06-14 11:36:02 -05:00
Brandon Williams 1f6b37d189 Merge branch 'cassandra-4.0' into cassandra-4.1 2023-06-14 11:35:40 -05:00
Brandon Williams 2fcdaa5b76 Merge branch 'cassandra-3.11' into cassandra-4.0 2023-06-14 11:35:22 -05:00
ningzi.zhan 1eccb2bc1f Fix error message handling when trying to use CLUSTERING ORDER with non-clustering column
Patch by Ningzi Zhan and Tomasz Lasica; reviewed by brandonwilliams,
edimitrova and Maxwell Guo for CASSANDRA-17818

Co-Authored-By: Tomek Lasica <tomasz.lasica@datastax.com>
2023-06-14 11:34:03 -05:00
Andrés de la Peña 4f3cb5de37 Avoid unnecessary deserialization of terminal arguments when executing CQL functions
patch by Benjamin Lerer and Andrés de la Peña; reviewed by Benjamin Lerer for CASSANDRA-18566

Co-authored-by: Benjamin Lerer <b.lerer@gmail.com>
Co-authored-by: Andrés de la Peña <a.penya.garcia@gmail.com>
2023-06-12 13:32:02 +01:00
Jacek Lewandowski ba3ad7487a Merge branch 'cassandra-4.1' into trunk
* cassandra-4.1:
  Track the amount of read data per row
2023-06-12 11:26:04 +02:00
Jacek Lewandowski b0cf9ba219 Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Track the amount of read data per row
2023-06-12 11:26:03 +02:00
Jacek Lewandowski 5143bd81e8 Track the amount of read data per row
If an sstable is corrupted in a nasty way, we may read invalid cell sizes and try to read much more data for a row than we should. In rare scenarios this can lead even to OOMs.

This simple fix adds tracking and limiting the amount of data that is read per row. Row has its size stored in preamble which can be used as a limit. If the deserialization code tries to read more than that, it will simply fail with EOF which will prevent more serious problems later.

Patch by Jacek Lewandowski; reviewed by Berenguer Blasi and Maxwell Guo for CASSANDRA-18513

# Conflicts:
#	src/java/org/apache/cassandra/db/rows/UnfilteredSerializer.java
2023-06-12 11:26:02 +02:00
Bereng 70389abcf7 Bti shouldn't be available in compatibility mode
Patch by Berenguer Blasi; reviewed by Andrés de la Peña for CASSANDRA-18569
2023-06-09 09:34:41 +02:00
Stefan Miklosovic 984f519bd9
Merge branch 'cassandra-4.1' into trunk 2023-06-06 16:20:13 +02:00
Stefan Miklosovic 867c074dda
Merge branch 'cassandra-4.0' into cassandra-4.1 2023-06-06 16:17:57 +02:00
Stefan Miklosovic f368b9dc1e
Merge branch 'cassandra-3.11' into cassandra-4.0 2023-06-06 16:14:34 +02:00