28 Collaborator |
Brandon Williams , Marcus Eriksson , Benjamin Lerer , Alex Petrov , Mick Semb Wever , Andrés de la Peña , Štefan Miklošovič , Ekaterina Dimitrova , David Capwell , Berenguer Blasi , Caleb Rackliffe , Yifan Cai , Dinesh Joshi , Jon Meredith , Jacek Lewandowski , Doug Rohrer , Andy Tolbert , Maxwell Guo , Abe Ratnofsky , Jyothsna Konisa , Maulin Vasavada , Bernardo Botella , Shailaja Koppu , Saranya Krishnakumar , reviewed by Yifan Cai , reviewed by Francisco Guerrero for CASSANDRA-19119 , cclive1601 , Andrew Tolbert |
20 Patch |
20 Review |
25291ff3fd99f92cdb0a7d5d2125442282d42ff8,
bb68141861e77623f0d0b13f72846651a71c1017,
a0af41f666c23a840d9df3f06729ed5fd2c06cd1,
26c374da4f03e4a6b64e414805cd92f3eb0a36c6,
6ffa43f68b8d10ca84d4a00bf81269527b4e14df,
9c796dfb272daa3ce57a2dc5cbeadd9273e1ac72,
83c169ec9e36324f27bf562951362f4a03c3c688,
a250126f0f277b43a18cb665ccd02a105271bc33,
a9725b681b948f2122f3d48b96a5c4e7403d2c39,
ffc4c89c3df7ad0ae73ebefdcb7e15a2790c0a52,
e773bbd9c6c52a2fedc127cb7ab77a1fdbeb63d2,
61be4d836213f708d9a29e59b9ef1df0bebef29a,
df16b3750dc2c1b6b9bcdece6f81dfd3de7ebdfa,
0dc5a289e8dd586150253d951e6e229480c0ffc8,
e0a61f73b9b9d14db3e68aafb38257a7689557b9,
a41cdd64b217c451b5576abe2f455eaa7ec1f322,
77dde2a3c4b40da3d820d4852c572338acbf6dc9,
185893256f10c14207bffe49ae733fb1a970aec5,
185893256f10c14207bffe49ae733fb1a970aec5,
0448f15e3db392f2f60db332fabf6309aa3d5089 |
f410b0fa0bc5adbb674654a0e27b02282971cfec,
659558c980c67a80287ca7ccdfc8a70b1a56b7e2,
98a0b54c4025ef21aa3fb56f1962c4771e095652,
d336dda1123af0c272c69e42b6214577e30447e1,
4120b8ce4f1bc7bd7ce101e4e298fc2211a21fe0,
c09d0d929baeaa02f3438313c7979ccf6b4b3c5a,
d5cea135c98bb98b16b215d309ead22e86f1329f,
bfcb21fbebfef14fbfe626bfd39d66f5e5c51018,
f46444b6285fad5453a4ab845b873fc03942ba76,
50273d98e4780b57da37400752eab69e65cd41bc,
0e4c2f4befa22caa68b34f95d0169b4685bc7e0d,
b9586501a6b6cdfe465302448018785652c9b966,
8bfe0e5878c64ed25591aae50643187bc8ab7241,
dd08314ed654aafa60b2a82fc4953aac171ba3ef,
ed3901823a5fe9f8838d8b592a1b7703b12e810b,
26dd119679605bf61ad3caa24a70509e5be5aac9,
3a6f6907314670fdb2b316db8f08ffd85da88851,
945a4fc23ac1f60b8380be3b60aef89caf3daba2,
d336dda1123af0c272c69e42b6214577e30447e1,
dad3e86dfe73ae1ba4aa5a23cf8194bed3f46322 |
bb68141861e77623f0d0b13f72846651a71c1017 | Author: Francisco Guerrero <frank.guerrero@gmail.com>
| 2024-05-29 13:38:02-07:00
CASSANDRA-19669: Audit Log entries are missing identity for mTLS connections
Patch by Francisco Guerrero; Reviewed by Bernardo Botella, Andrew Tolbert, Dinesh Joshi for CASSANDRA-19669
a0af41f666c23a840d9df3f06729ed5fd2c06cd1 | Author: Francisco Guerrero <frank.guerrero@gmail.com>
| 2024-02-15 13:19:28-08:00
CASSANDRA-18951: Add option for MutualTlsAuthenticator to restrict the certificate validity period
In this commit, we introduce two new optional options for the `server_encryption_options`
and the `client_encryption_options`. The options are `max_certificate_validity_period` and
`certificate_validity_warn_threshold`. Both options can be configured as a duration
configuration parameter as defined by the `DurationSpec` (see CASSANDRA-15234). The resolution
for these new properties is minutes.
When specified, the certificate validation implementation will take that information
and reject certificates that are older than the maximum allowed certificate validity period,
translating into a rejection from the authenticating user.
The `certificate_validity_warn_threshold` option can be configured to emit warnings (log entries)
when the certificate exceeds the validity threshold.
patch by Francisco Guerrero; reviewed by Andy Tolbert, Abe Ratnofsky, Dinesh Joshi for CASSANDRA-18951
4120b8ce4f1bc7bd7ce101e4e298fc2211a21fe0 | Author: Andy Tolbert <6889771+tolbertam@users.noreply.github.com>
| 2024-01-31 11:06:59-06:00
Expose auth mode in system_views.clients, nodetool clientstats, metrics
Adds 'authenticationMode' and 'metadata' fields to AuthenticatedUser to add context
about how the user was authenticated and updates system_views.clients,
nodetool clientstats (behind --verbose flag) to include this information.
Also adds new metrics to ClientMetrics to help operators identify which
authentication modes are being used.
patch by Andy Tolbert; reviewed by Francisco Guerrero, Stefan Miklosovic for CASSANDRA-19366
c09d0d929baeaa02f3438313c7979ccf6b4b3c5a | Author: Andy Tolbert <andy_tolbert@apple.com>
| 2024-01-30 16:41:54-08:00
Allow CQL client certificate authentication to work without sending an AUTHENTICATE request
patch by Andy Tolbert; reviewed by Abe Ratnofsky, Dinesh Joshi, Francisco Guerrero, Jyothsna Konisa for CASSANDRA-18857
d5cea135c98bb98b16b215d309ead22e86f1329f | Author: Caleb Rackliffe <calebrackliffe@gmail.com>
| 2024-01-08 15:23:35-06:00
Revert unnecessary read lock acquisition when reading ring version in TokenMetadata introduced in CASSANDRA-16286
patch by Caleb Rackliffe; reviewed by Francisco Guerrero for CASSANDRA-19107
0e4c2f4befa22caa68b34f95d0169b4685bc7e0d | Author: Bereng <berenguerblasi@gmail.com>
| 2023-11-07 07:24:57+01:00
Default to nb instead of nc for sstable formats
patch by Berenguer Blasi; reviewed by Francisco Guerrero, Jacek Lewandowski, Michael Semb Wever for CASSANDRA-19010
b9586501a6b6cdfe465302448018785652c9b966 | Author: Jon Meredith <jonmeredith@apache.org>
| 2023-09-21 16:07:29-06:00
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
6ffa43f68b8d10ca84d4a00bf81269527b4e14df | Author: Francisco Guerrero <frank.guerrero@gmail.com>
| 2023-08-25 11:10:48-06:00
Support Dynamic Port Allocation for in-jvm dtest framework
patch by Francisco Guerrero; reviewed by Dinesh Joshi, Jon Meredith, Yifan Cai for CASSANDRA-18722
9c796dfb272daa3ce57a2dc5cbeadd9273e1ac72 | Author: Francisco Guerrero <frank.guerrero@gmail.com>
| 2023-07-28 09:26:20-07:00
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
26c374da4f03e4a6b64e414805cd92f3eb0a36c6 | Author: Francisco Guerrero <frank.guerrero@gmail.com>
| 2023-03-09 12:11:20-08:00
Synchronize CQLSSTableWriter#build on the Schema.instance object
In this commit the `org.apache.cassandra.io.sstable.CQLSSTableWriter#build` method synchronizes on the
`Schema.instance` object (instead of the `CQLSSTableWriter.class`) to prevent concurrent schema operations
to fail when the offline tools also updates the schema.
For example, a table creation operation, which modifies the keyspace tables metadata, might end up
missing the update when a concurrent call to the `CQLSSTableWriter#build` method is accessing the
singleton Schema instance.
Patch by Francisco Guerrero, reviewed by Yifan Cai, Maxwell Guo, Alex Petrov for CASSANDRA-18317.
dad3e86dfe73ae1ba4aa5a23cf8194bed3f46322 | Author: Brandon Williams <brandonwilliams@apache.org>
| 2022-08-22 11:09:48-05:00
Ignore new error from CASSANDRA-17805 when attempting to replace a live node
Patch by brandonwilliams; reviewed by dcapwell and frankgh for
CASSANDRA-17847
83c169ec9e36324f27bf562951362f4a03c3c688 | Author: Francisco Guerrero <frank.guerrero@gmail.com>
| 2022-08-19 10:20:57-07:00
Fix BulkLoader to load entireSSTableThrottle and entireSSTableInterDcThrottle
patch by Francisco Guerrero; reviewed by Ekaterina Dimitrova, Yifan Cai for CASSANDRA-17677
dd08314ed654aafa60b2a82fc4953aac171ba3ef | Author: Ekaterina Dimitrova <ekaterina.dimitrova@datastax.com>
| 2022-06-30 17:06:58-04:00
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
a9725b681b948f2122f3d48b96a5c4e7403d2c39 | Author: Francisco Guerrero <frank.guerrero@gmail.com>
| 2022-06-29 11:15:10-07:00
Fix AbstractCell#toString throws MarshalException for cell in collection
patch by Francisco Guerrero; reviewed by Caleb Rackliffe, Yifan Cai for CASSANDRA-17695
ed3901823a5fe9f8838d8b592a1b7703b12e810b | Author: Jyothsna Konisa <jkonisa@apple.com>
| 2022-05-24 10:21:16-07:00
Adding support for TLS client authentication for internode communication
patch by Jyothsna Konisa; reviewed by Bernardo Botella, Francisco Guerrero, Jon Meredith, Maulin Vasavada, Yifan Cai for CASSANDRA-17513
ffc4c89c3df7ad0ae73ebefdcb7e15a2790c0a52 | Author: Doug Rohrer <drohrer@apple.com>
| 2022-05-17 15:09:16-04:00
Fix issue where frozen maps may not be serialized in the correct order
patch by Doug Rohrer, Francisco Guerrero and Yifan Cai; reviewed by Andrés de la Peña and Caleb Rackliffe for CASSANDRA-17623
Co-authored-by: Doug Rohrer <drohrer@apple.com>
Co-authored-by: Francisco Guerrero <frank.guerrero@gmail.com>
Co-authored-by: Yifan Cai <ycai@apache.org>
61be4d836213f708d9a29e59b9ef1df0bebef29a | Author: Francisco Guerrero <frank.guerrero@gmail.com>
| 2022-03-16 01:31:00+01:00
expose gossip information in system_views.gossip_info virtual table
patch by Francisco Guerrero; reviewed by Stefan Miklosovic and Yifan Cai for CASSANDRA-17002
This commit adds a new virtual table that exposes the gossip information in tabular format.
The information is the same as the information presented through the `nodetool gossipinfo`
command, but the virtual table splits the version and value from `VersionedValue` into two
different columns. This is intented to help clients reading the vtable without the need of
parsing the version:value information (as it currently stands in gossipinfo).
The token value does not have a column. This is consistent with the gossipinfo output which
always renders ":<hidden>" for the Token value. Only the token_version column is available.
df16b3750dc2c1b6b9bcdece6f81dfd3de7ebdfa | Author: David Capwell <dcapwell@apache.org>
| 2022-02-04 10:15:58-08:00
When streaming sees a ClosedChannelException this triggers the disk failure policy
patch by David Capwell, Francisco Guerrero; reviewed by Caleb Rackliffe, Dinesh Joshi for CASSANDRA-17116
0448f15e3db392f2f60db332fabf6309aa3d5089 | Author: David Capwell <David Capwell>
| 2022-02-04 10:15:46-08:00
When streaming sees a ClosedChannelException this triggers the disk failure policy
patch by David Capwell, Francisco Guerrero; reviewed by Caleb Rackliffe, Dinesh Joshi for CASSANDRA-17116
945a4fc23ac1f60b8380be3b60aef89caf3daba2 | Author: Shailaja Koppu <s_koppu@apple.com>
| 2022-02-01 09:53:49-08:00
Add a virtual table for exposing prepared statements metrics
patch by Shailaja Koppu; reviewed by Ekaterina Dimitrova, Francisco Guerrero, Yifan Cai for CASSANDRA-17224
e773bbd9c6c52a2fedc127cb7ab77a1fdbeb63d2 | Author: cclive1601 <cclive1601@gmail.com>
| 2022-01-21 11:07:37-08:00
Reject snapshot names with special character
Patch by Maxwell Guo, Saranya Krishnakumar and Francisco Guerrero; review
by Benjamin Lerer, Chris Lohfink, Stefan Miklosovic for CASSANDRA-15297
This commit also adds unit tests for the snapshot nodetool command.
Co-authored-by: Saranya Krishnakumar <saranya_k@apple.com>
Co-authored-by: Francisco Guerrero <francisco.guerrero@apple.com>
0dc5a289e8dd586150253d951e6e229480c0ffc8 | Author: Francisco Guerrero <frank.guerrero@gmail.com>
| 2022-01-14 16:13:00-08:00
Preserve tests that use BigInt numbers
Patch by Francisco Guerrero; reviewed by brandonwilliams and ycai for
CASSANDRA-17133
e0a61f73b9b9d14db3e68aafb38257a7689557b9 | Author: Francisco Guerrero <frank.guerrero@gmail.com>
| 2022-01-14 15:36:35-08:00
Revert "Add unix time conversion functions"
This reverts commit 8ddcd43b0cfcebfda882a238532d00905fe85eb8.
a41cdd64b217c451b5576abe2f455eaa7ec1f322 | Author: Francisco Guerrero <francisco.guerrero@apple.com>
| 2021-12-14 10:13:59-08:00
Allow column_index_size_in_kb to be configurable through nodetool
patch by Francisco Guerrero; reviewed by Dinesh Joshi, Yifan Cai for CASSANDRA-17121
77dde2a3c4b40da3d820d4852c572338acbf6dc9 | Author: Francisco Guerrero <francisco.guerrero@apple.com>
| 2021-11-09 13:32:15-08:00
Introduce separate rate limiting settings for entire SSTable streaming
patch by Francisco Guerrero; reviewed by Dinesh Joshi, Marcus Eriksson, Yifan Cai for CASSANDRA-17065
185893256f10c14207bffe49ae733fb1a970aec5 | Author: Francisco Guerrero <francisco.guerrero@apple.com>
| 2021-10-08 15:05:24-07:00
Allow GRANT/REVOKE multiple permissions in a single statement
patch by Francisco Guerrero; reviewed by Benjamin Lerer and Yifan Cai for CASSANDRA-17030
This commit allows GRANT/REVOKE statement to support multiple permissions with a single
statement. For example,
```
GRANT MODIFY, SELECT ON KEYSPACE field TO manager;
GRANT ALTER, DROP ON ROLE role1 TO role2;
```
185893256f10c14207bffe49ae733fb1a970aec5 | Author: Francisco Guerrero <francisco.guerrero@apple.com>
| 2021-10-08 15:05:24-07:00
Allow GRANT/REVOKE multiple permissions in a single statement
patch by Francisco Guerrero; reviewed by Benjamin Lerer and Yifan Cai for CASSANDRA-17030
This commit allows GRANT/REVOKE statement to support multiple permissions with a single
statement. For example,
```
GRANT MODIFY, SELECT ON KEYSPACE field TO manager;
GRANT ALTER, DROP ON ROLE role1 TO role2;
```