Commit Graph

556 Commits

Author SHA1 Message Date
Stefan Miklosovic 1c702382de
Merge branch 'cassandra-4.0' into cassandra-4.1 2026-07-20 20:42:36 +02:00
Jeremiah Jordan 26d7b166ba
Verify extension type before initializing reflectively-loaded classes
Cassandra resolves pluggable extensions by class name from configuration, schema, and tooling
inputs. These names were loaded with an initializing Class.forName(name) and type-checked only
afterward, so the named class ran its static initializer before its type was confirmed. After this
change such classes will be loaded without initialization, verified against the expected interface or
base class, and initialized only through normal use after validation.

A shared FBUtilities.classForNameWithoutInitialization helper and typed
instanceOrConstruct/construct overloads apply this to the configurable extension points loaded by
class name: the authentication, authorization, role-management, network and
internode-authenticator backends, the partitioner, audit logger, configuration loader, seed provider,
snitch, abstract types, secondary and custom indexes, compaction strategy, compressor, replication
strategy, SASI analyzers, key and cache providers, query handler, storage and stream hooks, tracing,
the JMX authorization proxy, MBeans, the monotonic clock, nodetool Sjk, triggers, the
sstableloader and stress class options, and diagnostic event classes (loaded without initialization
and checked against DiagnosticEvent, preserving the InvalidClassException contract and the existing
package restriction).

Regression tests confirm that an invalid-type load is rejected without initializing the target
class, and that valid implementations still resolve.

Hadoop client integration and hard-coded JDK and internal class probes are left unchanged.

patch by Jeremiah Jordan; reviewed by Stefan Miklosovic for CASSANDRA-21525
2026-07-20 20:03:45 +02: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 8515bd9918
Merge branch 'cassandra-4.0' into cassandra-4.1 2025-01-29 16:12:34 +01:00
Stefan Miklosovic d6f623b308
Fix preparation of CLASSPATH in tools/bin/cassandra.in.sh for development builds
patch by Stefan Miklosovic; reviewed by Michael Semb Wever for CASSANDRA-20257
2025-01-29 16:08:39 +01:00
Yifan Cai 350e968565 Merge branch 'cassandra-4.0' into cassandra-4.1 2023-11-30 17:44:07 +08:00
Yifan Cai 50273d98e4 Support max SSTable size in sorted CQLSSTableWriter
patch by Yifan Cai; reviewed by Alex Petrov, Francisco Guerrero, Maxwell Guo for CASSANDRA-18941
2023-11-30 17:39:00 +08:00
Stefan Miklosovic e8b638c2ae
Merge branch 'cassandra-4.0' into cassandra-4.1 2023-11-29 17:47:18 +01:00
dmi0 0f2af6ab3f
Fix cassandra-stress in simplenative mode with prepared statements
patch by Dmitry Bychkov; reviewed by Stefan Miklosovic and Brandon Williams for CASSANDRA-18744
2023-11-29 17:45:15 +01: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
Stefan Miklosovic f416a94125
Merge branch 'cassandra-4.0' into cassandra-4.1 2023-05-19 15:15:11 +02:00
Stefan Miklosovic dc6ad3f6b1
Merge branch 'cassandra-3.11' into cassandra-4.0 2023-05-19 15:11:03 +02:00
Stefan Miklosovic e1e88e5bc4
Merge branch 'cassandra-3.0' into cassandra-3.11 2023-05-19 15:07:59 +02:00
Stefan Miklosovic b828f7ea1b
Pass down all contact points to driver for cassandra-stress
patch by Stefan Miklosovic; reviewed by Brandon Williams for CASSANDRA-18025
2023-05-19 15:05:32 +02:00
Stefan Miklosovic 6a23fae4b8
Merge branch 'cassandra-4.0' into cassandra-4.1 2023-02-07 14:37:55 +01:00
nvharikrishna b74c86404a
Fix the output of FQL dump tool to properly separate entries
patch by N V Harikrishna; reviewed by Stefan Miklosovic and Brandon Williams for CASSANDRA-18215
2023-02-07 14:34:23 +01:00
Stefan Miklosovic bede10f36c
Merge branch 'cassandra-4.0' into cassandra-4.1 2023-02-01 15:28:50 +01:00
nvharikrishna ba434b8231
Fix NPE in fqltool dump on null value
If fullquerylog is enabled and a prepared query executed with null value
binded, then fqltool dump is running into NPE. Checking value for null before
wrapping it.

patch by N V Harikrishna; reviewed by Stefan Miklosovic and Brandon Williams for CASSANDRA-18113
2023-02-01 14:46:44 +01:00
Ekaterina Dimitrova dd08314ed6 Uncomment prepared_statements_cache_size, key_cache_size, counter_cache_size, index_summary_capacity which were
commented out by mistake in a previous patch;
Fix breaking change with cache_load_timeout; cache_load_timeout_seconds <=0 and cache_load_timeout=0 are equivalent
and they both mean disabled;
Deprecate public method setRate(final double throughputMbPerSec) in Compaction Manager in favor of
setRateInBytes(final double throughputBytesPerSec);
Revert breaking change removal of StressCQLSSTableWriter.Builder.withBufferSizeInMB(int size). Deprecate it in favor
of StressCQLSSTableWriter.Builder.withBufferSizeInMiB(int size);
Fix precision issues, add new -m flag (for nodetool/setstreamthroughput, nodetool/setinterdcstreamthroughput,
nodetool/getstreamthroughput and nodetoo/getinterdcstreamthroughput), add new -d flags (nodetool/getstreamthroughput,
 nodetool/getinterdcstreamthroughput, nodetool/getcompactionthroughput);
Fix a bug with precision in nodetool/compactionstats;
Deprecate StorageService methods and add new ones for stream_throughput_outbound, inter_dc_stream_throughput_outbound,
compaction_throughput_outbound in the JMX MBean `org.apache.cassandra.db:type=StorageService`;
Removed getEntireSSTableStreamThroughputMebibytesPerSec in favor of new getEntireSSTableStreamThroughputMebibytesPerSecAsDouble
in the JMX MBean `org.apache.cassandra.db:type=StorageService`;
Removed getEntireSSTableInterDCStreamThroughputMebibytesPerSec in favor of getEntireSSTableInterDCStreamThroughputMebibytesPerSecAsDouble
in the JMX MBean `org.apache.cassandra.db:type=StorageService`

Patch by Ekaterina Dimitrova; reviewed by Caleb Rackliffe, Francisco Guerrero for CASSANDRA-17225
2022-08-01 19:05:13 -04:00
David Capwell 3409e5d9b3 Enhance SnakeYAML properties to be reusable outside of YAML parsing, support camel case conversion to snake case, and add support to ignore properties
patch by David Capwell; reviewed by Caleb Rackliffe, Stefan Miklosovic for CASSANDRA-17166
2022-04-22 20:17:45 -07:00
Marcus Eriksson 537321e9c7 Remove stress server functionality
Patch by marcuse; reviewed by Brandon Williams for CASSANDRA-17535
2022-04-08 14:34:43 +02:00
Bereng 30ad754d7e Pre hashed passwords in CQL
patch by Robert Stupp and Berenguer Blasi; reviewed by Andres de la Peña for CASSANDRA-17334

Co-authored-by: Robert Stupp <snazy@snazy.de>
Co-authored-by: Berenguer Blasi <berenguerblasi@gmail.com>
2022-03-23 07:20:14 +01:00
Bereng 2f84f492a2 Revert "Pre hashed passwords in CQL"
This reverts commit 6946b304e9.
2022-03-21 13:19:31 +01:00
Bereng 6946b304e9 Pre hashed passwords in CQL
patch by Berenguer Blasi; reviewed by Andres de la Peña for CASSANDRA-17334
2022-03-21 11:18:05 +01:00
Jacek Lewandowski 2b2c6decfa Refactor schema management to allow for schema source pluggability
Patch by Jacek Lewandowski, reviewed by Alex Petrov for CASSANDRA-17044.
2022-03-11 11:03:43 +01:00
Benedict Elliott Smith 5a0d6154d1 [CASSANDRA-17176] Introduce TimeUUID
patch by Benedict; reviewed by Blake Eggleston for CASSANDRA-17176
2022-03-10 16:30:12 +00:00
Andrés de la Peña 3233c82311 Add guardrail for SELECT IN terms and their cartesian product
patch by Andrés de la Peña; reviewed by Ekaterina Dimitrova for CASSANDRA-17187

Co-authored-by: Aleksandr Sorokoumov <aleksandr.sorokoumov@gmail.com>
Co-authored-by: Andrés de la Peña <a.penya.garcia@gmail.com>
2022-03-08 11:08:29 +00:00
Ekaterina Dimitrova c51a7c66fc Bulk change of units around the code to support the move to the new configuration framework
patch by Ekaterina Dimitrova; reviewed by Caleb Rackliffe, David Capwell, Michael Semb Wever and Benjamin Lerer for CASSANDRA-15234
2022-02-05 22:28:57 -05:00
Stefan Miklosovic da47849b50 Remove Windows-specific classes and related code
patch by Stefan Miklosovic; reviewed by Joshua McKenzie, Bowen Song, Berenguer Blasi for CASSANDRA-16956
2022-02-05 15:41:33 +01:00
Andrés de la Peña 95522f85d5 Add guardrail for list operations that require read before write
patch by Andrés de la Peña; reviewed by Ekaterina Dimitrova for CASSANDRA-17154
2021-12-17 16:50:20 +00:00
Benedict Elliott Smith 6a1d9de3d9 [CASSANDRA-16926] CEP-10 Phase 1: Mockable Filesystem
patch by Benedict; reviewed by Aleksey Yeschenko, Sam Tunnicliffe and Aleksei Zotov for CASSANDRA-16926

Co-authored-by: Benedict Elliott Smith <benedict@apache.org>
Co-authored-by: Aleksey Yeschenko  <aleksey@apache.org>
2021-10-07 14:28:00 +01:00
Benedict Elliott Smith be1f050bc8 [CASSANDRA-16925] CEP-10 Phase 1: Mockable Task Execution
Co-authored-by: Benedict Elliott Smith <benedict@apache.org>
Co-authored-by: Sam Tunnicliffe <samt@apache.org>
2021-10-07 14:27:52 +01:00
Benedict Elliott Smith e5b92e1088 [CASSANDRA-16924] CEP-10 Phase 1: Mockable Blocking Concurrency Primitives
patch by Benedict; reviewed by Sam Tunnicliffe and Aleksei Zotov for CASSANDRA-16924

Co-authored-by: Benedict Elliott Smith <benedict@apache.org>
Co-authored-by: Sam Tunnicliffe <samt@apache.org>
2021-10-07 14:27:44 +01:00
Benedict Elliott Smith 15a2fe00fc [CASSANDRA-16923] CEP-10 Phase 1: Mockable System Clock
Co-authored-by: Benedict Elliott Smith <benedict@apache.org>
Co-authored-by: Aleksey Yeschenko  <aleksey@apache.org>
Co-authored-by: Sam Tunnicliffe <samt@apache.org>
2021-09-29 19:38:34 +01:00
Brandon Williams 82e0453901 Merge branch 'cassandra-3.11' into cassandra-4.0 2021-07-16 07:58:00 -05:00
Sam Tunnicliffe 9cda055faa Merge branch 'cassandra-3.11' into trunk 2021-04-27 09:31:45 +01:00
Sam Tunnicliffe 87a46c36f0 Merge branch 'cassandra-3.0' into cassandra-3.11 2021-04-27 09:20:25 +01:00
Mick Semb Wever 2ec96ae669
Merge branch 'cassandra-3.0' into cassandra-3.11 2021-04-19 17:34:05 +02:00
Mick Semb Wever 50a97a0d76
Merge branch 'cassandra-2.2' into cassandra-3.0 2021-04-19 17:29:00 +02:00
Mick Semb Wever 53b0661cbb
Fix rat checking for files with missing license headers
patch by Mick Semb Wever; reviewed by Brandon Williams, Ekaterina Dimitrova for CASSANDRA-16558
2021-04-19 17:18:26 +02:00
Mick Semb Wever 1a92e4a649
Merge branch 'cassandra-3.11' into trunk 2021-03-27 00:38:31 +01:00
Mick Semb Wever 9e513390b7
Merge branch 'cassandra-3.0' into cassandra-3.11 2021-03-27 00:36:11 +01:00
Mick Semb Wever 35114d5fcc
Merge branch 'cassandra-2.2' into cassandra-3.0 2021-03-27 00:32:09 +01:00
Mick Semb Wever cd4aa9f77c
ninja-fix missing copyright headers 2021-03-27 00:29:58 +01:00
Adam Holmberg 932b0a483e make cassandra-stress -node work with host:port
Patch by Adam Holmberg; reviewed by brandonwilliams for CASSANDRA-16529
2021-03-19 15:24:56 -05:00
Mick Semb Wever b41873d671
Fix centos packaging for arm64, >=3.0 rpm's now require python3
patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-16477
2021-03-09 22:30:06 +01:00
Bereng 2d9d17894d Fix cassandra-stress JMX connection
Patch by Berenguer Blasi; reviewed by brandonwilliams for CASSANDRA-16473
2021-03-03 09:34:41 -06:00
Sam Tunnicliffe c9d6c725dd Promote protocol v5 from beta
Patch by Sam Tunnicliffe; reviewed by Alex Petrov and Eduard Tudenhoefner
for CASSANDRA-14973
2021-02-23 16:46:39 +00:00