Commit Graph

616 Commits

Author SHA1 Message Date
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
Sam Tunnicliffe ae0842372f Implementation of Transactional Cluster Metadata as described in CEP-21
An overview of the core components can be found in the included
TransactionalClusterMetadata.md

patch by Alex Petrov, Marcus Eriksson and Sam Tunnicliffe; reviewed by
Alex Petrov, Marcus Eriksson and Sam Tunnicliffe for CASSANDRA-18330

Co-authored-by: Marcus Eriksson <marcuse@apache.org>
Co-authored-by: Alex Petrov <oleksandr.petrov@gmail.com>
Co-authored-by: Sam Tunnicliffe <samt@apache.org>
2023-11-24 10:26:08 +00:00
Jacek Lewandowski 4d61359c21 CASSANDRA-18785: Add support for Sonar analysis
Patch by Jacek Lewandowski; reviewed by Brandon Williams, Maxim Muzafarov, Michael Semb Wever, Stefan Miklosovic for CASSANDRA-18785
2023-11-13 14:48:28 +01: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
timothytu12 75f7ec7fa5
Remove legacy command line options from cassandra-stress
Also, -mode option has "native" and "cql3" as defaults and they do not need to be specified

patch by Timothy Tu; reviewed by Stefan Miklosovic and Brandon Williams for CASSANDRA-18529
2023-08-09 23:16:36 +02: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
Ekaterina Dimitrova 3755934e52 Drop JDK8 and add JDK17, remove eclipse-warnings in favor of Checker Framework and upgrade checkstyle
patch by Ekaterina Dimitrova; reviewed by Jeremiah Jordan, Berenguer Blasi, Michael Semb Wever and Jacek Lewandowski for CASSANDRA-18255
2023-07-24 15:16:53 -04: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
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
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
Bereng 1adbea5a06 Extend maximum expiration date
patch by Berenguer Blasi; reviewed by Andrés de la Peña for CASSANDRA-14227
2023-06-05 07:18:34 +02:00
Stefan Miklosovic 18cc821e30
Print header and statistics for cassandra-stress output with arbitrary frequency
patch by Stefan Miklosovic; reviewed by Brandon Williams and Berenguer Blasi for CASSANDRA-12972
2023-05-30 21:30:00 +02:00
Stefan Miklosovic 4d2ee09ffa
Make cassandra-stress able to read all credentials from a file
As side-effect, this patch also introduces possibility to pass credentials to JMX.

patch by Stefan Miklosovic; reviewed by Brandon Williams for CASSANDRA-18544
2023-05-26 18:44:37 +02:00
Stefan Miklosovic edd35badaf
Merge branch 'cassandra-4.1' into trunk 2023-05-19 15:17:23 +02: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
Jacek Lewandowski fe0e04c231 Fix sstable formats configuration
- refactored sstable format configuration
- sstable formats are discovered via ServiceLoader
- options configuration for sstable formats can be included in yaml
- yaml may include selected sstable format and version (version is not yet supported)
- auto saved caches refactored - they include additional metadata component which contains necessary mappings

patch by Jacek Lewandowski; reviewed by David Capwell for CASSANDRA-18441
2023-05-18 12:54:08 +02:00
Andrés de la Peña e72ec4e828 Add sstablepartitions offline tool to find large partitions in sstables
patch by Andrés de la Peña and Robert Stupp; reviewed by Brandon Williams and Stefan Miklosovic for CASSANDRA-8720

Co-authored-by: Andrés de la Peña <a.penya.garcia@gmail.com>
Co-authored-by: Robert Stupp <snazy@snazy.de>
2023-05-04 13:33:16 +01:00
Tatu Saloranta 73da05f83b
Replace usages of json-simple dependency by Jackson
patch by Tatu Saloranta; reviewed by Brandon Williams for CASSANDRA-16855

Co-authored-by: Stefan Miklosovic <smiklosovic@apache.org>
2023-05-02 21:19:58 +02:00
Jacek Lewandowski b7e1e44a90 SSTable format API
Summary of the changes:

Format, reader and writer
---------------------------
There are a lot of refactorings around sstable related classes aiming to extract the most generic functionality to the top-level entities and push down implementation-specific stuff to the actual implementation. In Particular, the top-level, implementation agnostic classes/interfaces are SSTableFormat interface, SSTable, SSTableReader, SSTableWriter, IVerifier, and IScrubber. The rest of the codebase has been reviewed for explicit usages of big table format-specific usages of sstable classes and refactored. SSTable, SSTableReader, and SSTableWriter have their builders. Builders make a hierarchy that follows the same inheritance structure as readers and writers.

There are also partial implementations that add support for some features and may or may not be used by the custom implementations. They include:
- AbstractSSTableFormat - adds an implementation of some initialization methods - in practice, all of the format implementations should extend this class
- SSTableReaderWithFilter - add support for Bloom filter to the reader
- SortedTableWriter - generic implementation for a writer which writes partitions in the default order to the data file, supports Bloom filter and some index of partitions
- IndexSummarySupport - interface implemented by the readers using index summaries
- KeyCacheSupport - interface implemented by the readers using row key cache

Descriptor
---------------------------
Refactored the Descriptor class so that:
- All paths are created from the base directory File rather than from a String
- All the methods named *filename* producing full paths were made private; their current implementations are returning file names rather than paths (the naming was inconsistent)
- The usages of the `filenameFor` method were refactored to use the `fileFor` method
- The usages of the `fromFilename` method were refactored to use a  `fromFileWithComponent(..., false).left` expression
In essence, the Descriptor class is no longer working on String-based paths.

Index summaries
---------------------------
Removed the index summary from the generic SSTableReader class and created an interface IndexSummarySupport to be implemented by the readers that need it. Methods in related classes that refer back to the reader were refactored to support just readers of the SSTableReader & IndexSummarySupport type. Therefore, we will no longer need to assume that the generic SSTableReader has anything to do with an index summary.

A new IndexSummaryComponent class encloses data fields from the index summary file (note that aside from the index summary itself, the file includes the first and last partition of the sstable). The class has been extracted to deal with those fields and have that logic in a single place.

Filter
---------------------------
Refactored IFilter and its serialization - in particular, added the `serialize` method to the IFilter interface and moved loading/saving logic to a separate utility class FilterComponent.
Extracted the SSTableReaderWithFilter abstract reader extending the generic SSTableReader with filter support.
Extracted bloom filter metrics into separate entities allowing to plug them in if the implementation uses a filter.

Cache
---------------------------
Refactored CacheService to support different key-cache values. CacheService now supports arbitrary IRowIndexEntry implementation as a key-cache value. A new version of the auto-saving cache was created ("g") because some information about the type of serialized row index entry needs to be known before it is deserialized (or skipped). Therefore, the SSTableFormat type ordinal number is stored, which is sufficient because the IRowIndexEntry serializer is specific to the sstable format type.
Similarly to the IndexSummarySupport, a new KeyCacheSupport interface has to be implemented to mark the reader as supporting key-cache. It contains the default implementation of several methods the rest of the system relies on when the key-cache is supported.

Other changes
---------------------------
- Fixed disabling chunk cache - enable(boolean) method in ChunkCache does not make any sense - it makes a false impression it can disable chunk cache once enabled, while in fact, it only clears it. Added setFileCacheEnabled to DatabaseDescriptor

- Made WrappingUnfilteredRowIterator an interface

- DataInputStreamPlus extends InputStream - this makes it possible for input stream-based inheritors of DataInputPlus to extend DataInputStreamPlus. It simplifies coding because sometimes we want to get DataInputPlus implementation extending InputStream as an argument.

- Table and keyspace metrics were made pluggable - in particular, added the ability for a certain format to register gauges that are specific only to that format and make no sense for others

- Implemented mmapped region extension for compressed data

- Refactored FileHandle so that it is no longer closable

- Implemented WrappingRebufferer

- Introduced the SSTable.Owner interface to make SSTable implementation not reference higher-level entities directly. SSTable accepts passing null as the owner when there is no owner (like sometimes in offline tools) or passing a mock when needed in tests.

Individual commits
---------------------------

[4a87cd36fe] Fix disabling chunk cache
[c84c75ccf3] Made WrappingUnfilteredRowIterator an interface
[253d2b828e] Add getType to SSTableFormat
[3f169dcc20] Remove getIndexSerializer from SSTableFormat
[05bae1833b] Pull down rowIndexEntrySerializer field
[da675f2809] Moved RowIndexEntry
[673f0c5c39] Reduce usages of RowIndexEntry
[c72538be91] Refactor CacheService to support for different key cache values
[54d33ee656] Minor refactoring of ColumnIndex
[93862df967] Just moved AbstractSSTableIterator to o.a.c.io.sstable.format
[9e4566a1de] Refactored AbstractSSTableIterator
[a4e61e80bb] Extracted IScrubber and IVerifier interfaces
[20f78c7419] Push down implementation of SSTableReader.firstKeyBeyond
[f2c24e5774] Moved SSTableReader.getSampleIndexesForRanges to IndexSummary
[b6c3a6c1ea] Moved SSTableReader.getKeySamples implementation to IndexSummary
[c4b90ebb33] Refactor InstanceTidier so that it is more generic
[918d5a9e74] Refactor dropping page cache
[a52fb4d558] Refactor sstable metrics
[f6d10f930f] NEW (fix up) - DataInputStreamPlus extends InputStream
[8f6a56d972] Getting rid of index summary in SSTableReader
[4a918bf725] Removed direct usages of primary index from SSTableReader
[358fa32602] Refactor KeyIterator so that it is sstable format agnostic
[14c09d89c2] Remove explicit usage of Components outside of format specific classes
[feff14e137] Move clone methods implementation from SSTableReader to BigTableReader
[64e9787b10] Move saveIndexSummary and saveBloomFilter to SSTableReaderBuilder
[ae71fe6ed8] Moved indexSummary field to BigTableReader and made it private
[df9fd8c4b9] Moved ifile field to BigTableReader and made it private
[2be6ea9ecf] Moved static open methods for BigTableReader to the reader factory
[bc0e55ac48] Minor refactoring around IFilter and its serialization
[5b95704beb] Minor refactorings around IndexSummary
[87812335e8] Extracted TOCComponent class to deal with TOC file
[fdad092a6a] Extracted CompressionInfoComponent class
[39b47e388d] Extracted StatsComponent as a helper for elements of SSTable metadata
[cdb55bff47] Fix SSTable.getMinimalKey
[b99c6d5805] Refactor FileHandle so that it is no longer closable
[77b7f7ace5] Implement WrappingRebufferer
[b6868914dd] Add progressPercentage to ProgressInfo
[7fd4956e5b] Moved copy/rename/hardLink methods from SSTableWriter to SSTable
[1ccc6bf148] Create generic SSTableBuilder and IOOptions
[da58a81102] Refactor SSTableReaderBuilder
[4501ddba1c] Refactor ColumnIndex
[d4f9e1a64b] Extracted non-big-table-specific functionality from BigTableWriter to SortedTableWriter
[379525d01e] Refactor BigTableZeroCopyWriter to SSTableZeroCopyWriter as it is not specific to big format
[8ac37f83bc] Extract EmptySSTableScanner out from BigTableScanner
[ee6673f1cf] Implement SSTableWriterBuilder
[bb26629235] Refactor opening early / final
[a327595015] Refactored SSTableWriter factory
[16ffd7334b] Extract non-big-format-specific logic from scrubber and verifier
[75e02db6af] Allow to specify the default SSTableFormat via system property
[a7b9d0d628] Small fixes around streaming
[407f977c36] Move guard collection size
[0529e57d2f] Remove explicit references to big format
[61509963ec] Unclassified minor changes
[da28d1af3a] Replaced getCreationTimeFor(Component) with getDataCreationTime()
[e99c834de6] !!! Reformatting
[882b7baa5a] Rename SSTableReader.maybePresent and fix its redundant usages
[b70c983bea] Implement mmapped region extension for compressed data
[d7ff3970de] Introduce SSTable.Owner interface
[e9feb9c462] Replaced getCreationTimeFor(Component) with getDataCreationTime()
[ee8082fb07] Created SSTableFormat.deleteOrphanedComponents
[e62950fd3d] Refactor metrics further
[cefa5b3814] Extract key cache support into separate entity
[dd55101ca1] Extracted SSTableReaderWithFilter
[510b651824] Implement customizable component types
[2be512d9fa] Pluggable SSTableFormat by making SSTableFormat.Type not an enum
[670836b55d] Refactor CRC and digest validators
[00c91103bc] Extract delete method to delete SSTables and purge row cache entries
[0819dc9fc2] Extracted trySkipFileCacheBefore(key) to SSTableReader
[732f841750] Added missing overrides in ForwardingSSTableReader
[db623218fd] Update DatabaseDescriptorRefTest
[c018c468e5] Cleanup
[eafc836242] Add @SuppressWarnings("resource") where needed
[3b7c911dd6] Documentation

patch by Jacek Lewandowski, reviewed by Branimir Lambov for CASSANDRA-17056

Co-authored-by: @jacek-lewandowski
Co-authored-by: @blambov
2023-03-06 09:17:18 +01:00
Ekaterina Dimitrova d1e3c781b5 Add JDK17 startup scripts
patch by Ekaterina Dimitrova; reviewed by Mick Semb Wever for CASSANDRA-18258
2023-02-27 12:06:44 -05: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
Sam Tunnicliffe 07167c95e3 Ninja: fix fqltool tests (CASSANDRA-16384 follow up) 2021-01-22 11:41:42 +00:00
zhaorenhai 7f1659cd1d
Upgrade netty and chronicle-queue dependencies to get Auditing and native library loading working on arm64 architectures
CASSANDRA-16384 test case AuditLoggerTest fail on aarch64 platform
 CASSANDRA-16392 Unable to load the library netty_tcnative_linux_aarch_64

 patch by Zhao Renhai (赵 仁海); reviewed by Mick Semb Wever for CASSANDRA-16384,CASSANDRA-16392
2021-01-22 10:02:20 +01:00
Jon Meredith 7637acc3d7 SSLFactory should initialize SSLContext before setting protocols
patch by Jon Meredith; reviewed by David Capwell, Dinesh Joshi for CASSANDRA-16362
2021-01-07 14:42:10 -08:00
Mick Semb Wever 2346ed8241
Offline token allocation strategy generator tool
Provides the tools/bin/generate-tokens script that can be used to pregenerate allocation strategy tokens.
Refactors TokenAllocation for extensibility (and better re-use between strategies), and adds OfflineTokenAllocator.
TokenMetadata now has a configurable snitch (instead of hardcoded to DatabaseDescriptor.getEndpointSnitch()) for testability.
Adds logging of growth and stddev changes to allocate_tokens_for_local_replication_factor usages.

 patch by Mick Semb Wever; reviewed by Paul Motta, Ekaterina Dimitrova for CASSANDRA-16205
2020-12-03 19:20:59 +01:00
Jon Meredith 919a8964a8 Bring back the accepted encryption protocols list as configurable option
patch by Jon Meredith; reviewed by Berenguer Blasi, David Capwell, Dinesh Joshi for CASSANDRA-13325
2020-12-02 16:44:54 -08:00
Yuki Morishita d9e2ed00af Remove windows scripts and their references
patch by Yuki Morishita; reviewed by Berenguer Blasi and Andrés de la Peña for CASSANDRA-16171
2020-12-02 16:43:45 +00:00
Sam Tunnicliffe a7c4ba9eee Improve checksumming and compression in protocol V5
This reverts the changes made to the native protocol V5 wire format in
CASSANDRA-13304 and subsequent follow up JIRAs (CASSANDRA-15556 &
CASSANDRA-14716). The framing format has been re-implemented based on the
internode messaging format developed in CASSANDRA-15066.

OPTIONS and STARTUP messages are unframed (i.e. identical to the V4 format).
After sending its response to a STARTUP message, the server modifies the
pipeline and all further messages are sent (and should be expected by the
client to be received) in the format determined by the protocol version of
the STARTUP message.

Patch by Sam Tunnicliffe; reviewed by Alex Petrov and Caleb Rackliffe
for CASSANDRA-15299
2020-12-01 18:49:06 +00:00
David Capwell 001767de2d Merge branch 'cassandra-3.11' into trunk 2020-11-05 14:47:17 -08:00
David Capwell 7c407c4380 Merge branch 'cassandra-3.0' into cassandra-3.11 2020-10-19 12:31:15 -07:00
Yifan Cai 83e1e9e451 in-jvm dtest now exposes stdout and stderr for nodetool
patch by Yifan Cai; reviewed by Alex Petrov, David Capwell for CASSANDRA-16057
2020-10-06 13:46:05 -07:00
David Capwell 91bcbb2873 Add a new jmxtool which can dump what JMX objects exist and diff
patch by David Capwell, Stephen Mallette; reviewed by Berenguer Blasi, Jon Meredith for CASSANDRA-16082
2020-09-15 17:01:01 -07:00
Blake Eggleston ccab496d2d Add byte array backed cells
Patch by Blake Eggleston; reviewed by Caleb Rackliffe and Marcus Eriksson for CASSANDRA-15393
2020-09-14 08:32:44 -07:00
Stefan Miklosovic 00c22232d9 FQL replay should have options to ignore DDL statements
Patch by Stefan Miklosovic; reviewed by David Capwell and Marcus Eriksson
for CASSANDRA-16039
2020-08-19 09:40:45 +02:00
Ekaterina Dimitrova cba0c27ce9 Remove COMPACT STORAGE internals
Patch by Ekaterina Dimitrova, reviewed by Sylvain Lebresne for
CASSANDRA-13994
2020-08-17 11:51:23 +02:00
Alex Ott 6d9465a00d Improve cassandra-stress logging when using a profile file that doesn't
exist.

Patch by Alex Ott, reviewed by brandonwilliams for CASSANDRA-14425
2020-08-05 11:52:36 -05:00
Joseph Lynch 674b6cc1a5 Update defaults for server and client TLS settings
This fixes backwards compatibility with the 3.11 server_encryption_options
while exposing the correct defaults after the 4.0 Netty refactor.

Patch by Joseph Lynch; Reviewed by Ekaterina Dimitrova for CASSANDRA-15262
2020-06-20 18:59:41 -07:00
Robert Stupp ec07cd7e76 Fix tools/bin/fqltool for all shells
patch by Robert Stupp; reviewed by Mick Semb Wever and Eduard Tudenhöfner for CASSANDRA-15820
2020-05-19 16:36:09 +02:00
Marcus Eriksson 5242f7d430 Fix issues in audit / full query log interactions
Patch by marcuse; reviewed by Aleksey Yeschenko and Per Otterström for CASSANDRA-14772
2020-04-16 14:19:54 +02:00
Robert Stupp f14507190b Remove Java Driver dependency for UDFs and UDAs / Limit the dependencies used by UDFs/UDAs
patch by Robert Stupp; reviewed by Jason Brown, Jonathan Ellis, Ryan Svihla for CASSANDRA-14737
2020-02-12 09:58:43 +01:00
yifan-c 1fbd3297a9 Release session from cache when closing QueryReplayer
Patch by Yifan Cai; reviewed by marcuse for CASSANDRA-15514
2020-01-20 15:00:25 +01:00
nvharikrishna e27810efcc [CASSANDRA-12993] Added license text. 2020-01-10 16:05:38 +00:00
Zephyr Guo 3a8300e0b8 Avoid deadlock during CommitLog initialization
patch by Zephyr Guo, Dinesh Joshi; reviewed by Jordan West and Dinesh Joshi for CASSANDRA-15295

Co-Authored-By: Zephyr Guo <gzh1992n@gmail.com>
Co-Authored-By: Dinesh Joshi <dinesh.joshi@apple.com>
2019-12-12 10:13:44 -08:00
Per Otterström d5e5c459f5 Align record header of FQL and audit binary log
Patch by Per Otterström; reviewed by Vinay Chella and marcuse for CASSANDRA-15076
2019-11-28 09:43:07 +01:00
Sumanth Pasupuleti 38b49904dd
Upgrading Guava to 27, and to java-driver 3.6.0 (from 3.4.0-SNAPSHOT), plus refactoring to remove nativePort argument for NativeSSTableLoaderClient constructor
Patch by Sumanth Pasupuleti; reviewed by Michael Semb Wever for CASSANDRA-14655
2019-10-07 21:19:42 +02:00
Benedict Elliott Smith 310a48efcf Rewrite the internode messaging subsystem
patch by Aleksey Yeschenko and Benedict Elliott Smith; reviewed by Alex
Petrov, Aleksey Yeschenko, and Benedict Elliott Smith for CASSANDRA-15066

Co-authored-by: Aleksey Yeschenko <aleksey@apache.org>
Co-authored-by: Benedict Elliott Smith <benedict@apache.org>
2019-06-12 16:26:54 +01:00
Mick Semb Wever 7d6c3cd2bd
Merge branch 'cassandra-3.11' into trunk 2019-04-10 21:40:21 +10:00
Mick Semb Wever 8c38b20343
Merge branch 'cassandra-3.0' into cassandra-3.11 2019-04-10 21:14:31 +10:00
Zhao Yang 4a70a9a982
support frozen collections: list, set in cassandra-stress
patch by ZhaoYang ; reviewed by Mick Semb Wever for CASSANDRA-14907
2019-04-10 21:12:53 +10:00
Joseph Lynch 595da9c12e Make tools/bin/token-generator py2/3 compatible
Patch by Joseph Lynch; reviewed by Stefan Podkowinski for CASSANDRA-15012
2019-03-05 13:34:49 -08:00
Marcus Eriksson 73ff199df3 FQLTool replay improvements
Patch by marcuse; reviewed by Sam Tunnicliffe for CASSANDRA-14850
2019-02-25 15:17:47 +01:00
Vinay Chella 7d138e20ea Add a new tool to dump audit logs
Patch by Vinay Chella; reviewed by marcuse for CASSANDRA-14885
2019-01-23 14:36:56 +01:00
Jay Zhuang 4dd7faa752 Merge branch 'cassandra-3.11' into trunk 2018-12-06 16:48:25 -08:00
Jay Zhuang 6a449b88d9 Merge branch 'cassandra-3.0' into cassandra-3.11 2018-12-06 16:42:41 -08:00
Jay Zhuang bbf7dac87c Fix cassandra-stress hang with default options
patch by Jay Zhuang; reviewed by Stefania Alborghetti for CASSANDRA-14616
2018-12-06 16:34:55 -08:00
Marcus Eriksson bd0cef9a36 Avoid using DatabaseDescriptor in ProtocolVersion
Patch by marcuse; reviewed by Sam Tunnicliffe for CASSANDRA-14800
2018-10-04 08:23:49 +02:00
Marcus Eriksson a0636881f4 ninja-add missing .hashCode() in new fqltool classes 2018-09-28 08:39:12 +02:00
Sam Tunnicliffe 65fb17a88b Add checksumming to the native protocol
Patch my Michael Kjellman and Sam Tunnicliffe; reviewed by Dinesh Joshi
and Jordan West for CASSANDRA-13304
2018-09-01 22:41:37 +01:00
Marcus Eriksson f83bd5ac2b Add fqltool compare
Patch by marcuse; reviewed by Jason Brown and Dinesh Joshi for CASSANDRA-14619
2018-09-01 09:59:21 +02:00
Aleksey Yeshchenko aed682513c Use consistent nowInSeconds and timestamps values within a request
patch by Aleksey Yeschenko; reviewed by Chris Lohfink for
CASSANDRA-14671
2018-08-31 18:29:33 +01:00
Robert Stupp 6ba2fb9395 Make C* compile and run on Java 11 and Java 8
patch by Robert Stupp; reviewed by Jason Brown for CASSANDRA-9608
2018-07-26 18:20:00 +02:00