This is an automated email from the ASF dual-hosted git repository. netudima pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/cassandra.git
commit 6a79d99f818caf7ace41e94cba53e15b4a462a9b Merge: edf2849dae 72affbc206 Author: Dmitry Konstantinov <[email protected]> AuthorDate: Thu Sep 17 12:05:28 2026 +0100 Merge branch 'cassandra-6.0' into trunk * cassandra-6.0: Avoid serialization and deserialization for coordinator-local single partition data read CHANGES.txt | 1 + NEWS.txt | 10 +- .../config/CassandraRelevantProperties.java | 8 + src/java/org/apache/cassandra/db/ReadCommand.java | 19 +- src/java/org/apache/cassandra/db/ReadResponse.java | 344 +++++- .../metrics/CassandraMetricsRegistry.java | 1 + .../cassandra/metrics/ReadResponseMetrics.java | 48 + .../org/apache/cassandra/service/StorageProxy.java | 13 +- .../cassandra/service/reads/ReadCallback.java | 6 + .../org/apache/cassandra/db/ReadResponseTest.java | 1196 +++++++++++++++++++- 10 files changed, 1629 insertions(+), 17 deletions(-) diff --cc CHANGES.txt index f6a1f228d8,b2ca9dd737..b34f16769a --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,16 -1,5 +1,17 @@@ -6.0-alpha3 +7.0 + * Redact hash and _hash suffixed parameters in system_views.settings (CASSANDRA-21686) + * Allow CQLSSTableWriter to specify SSTable id generator to use (CASSANDRA-21012) + * Reject LIKE patterns with a wildcard (%) anywhere other than the start or end (CASSANDRA-21068) + * Support pluggable default role initialization (CASSANDRA-21546) + * Add prepared statement cache stats to nodetool info (CASSANDRA-14366) + * Don't increment client metrics on messaging service connection unpause (CASSANDRA-21491) + * Add nodetool getreplicas (CASSANDRA-17665) + * Implementation of CEP-49: Hardware-accelerated compression (CASSANDRA-20975) + * Avoid using ObjectUtils.getFirstNonNull in Schema (CASSANDRA-21394) + * Allow nodetool garbagecollect to take a user defined list of SSTables (CASSANDRA-16767) + * Add a guardrail for misprepared statements (CASSANDRA-21139) +Merged from 6.0: + * Avoid serialization and deserialization for coordinator-local single partition data read (CASSANDRA-21354) * Allow nodetool cms reconfigure to ignore nodes via --ignore, excluding them from the new CMS (CASSANDRA-21627) * Accord: Compute Dependencies Incrementally (CASSANDRA-21682) * Avoid double chunk read for BTI small partitions during a select query execution (CASSANDRA-21637) diff --cc NEWS.txt index 7371c78ad0,7cb208f520..42fca7ad3d --- a/NEWS.txt +++ b/NEWS.txt @@@ -176,9 -140,20 +176,17 @@@ New feature - New functions `format_bytes` and `format_time` were added. See CASSANDRA-19546. - It is possible to use Async-profiler for various profiling scenarios. See CASSANDRA-20854. - It is possible to provide custom startup check via Java SPI. See CASSANDRA-21093. - + - Single partition data reads served by the coordinator's local replica no longer serialize and deserialize the + response when it is small enough. The rows are kept as an in-memory partition instead, which saves the CPU time + spent on serializing and deserializing them and avoids allocating the rows and cells twice. + A response that exceeds either per-request limit is serialized in full, as before. + The limits are set by the system properties cassandra.data_response_in_memory_max_rows and + cassandra.data_response_in_memory_max_size; reads at ONE/LOCAL_ONE use + cassandra.data_response_in_memory_max_rows_cl_one andcassandra.data_response_in_memory_max_size_cl_one. + A limit is disabled by setting it to 0, and setting both limits of a tier to 0 disables the in-memory path for that tier. + Note that the limits are not enforced in the middle of a range tombstone span, so a response may exceed them in that case. Upgrading --------- - - memtable_offheap_space: 0 is now rejected at startup when memtable_allocation_type is - offheap_buffers or offheap_objects. Set a positive memtable_offheap_space, or an allocation - type that does not allocate off-heap. See CASSANDRA-21019. [The following is a placeholder, to be revised asap] - trickle_fsync is by default set to "true" instead of "false" in cassandra.yaml (see CASSANDRA-21572) - Upgrading to 5.1 is currently only supported from 4.0, 4.1 or 5.0. Clusters running earlier releases must first --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
