This is an automated email from the ASF dual-hosted git repository. asf-gitbox-commits pushed a commit to branch cassandra-6.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git
commit eb85348a21ba80e461dcfbba68d3537702715581 Merge: ab5384918c f000bddd36 Author: Caleb Rackliffe <[email protected]> AuthorDate: Tue Aug 11 16:53:14 2026 -0500 Merge branch 'cassandra-5.0' into cassandra-6.0 * cassandra-5.0: Avoid rebuilding per-SSTable SAI components unless missing or corrupted CHANGES.txt | 1 + .../index/sai/StorageAttachedIndexBuilder.java | 2 - .../index/sai/cql/StorageAttachedIndexDDLTest.java | 66 ++++++++++++++++++++++ .../index/sai/functional/SnapshotTest.java | 3 +- 4 files changed, 69 insertions(+), 3 deletions(-) diff --cc CHANGES.txt index c3401f2821,35a6124889..b6065bf21a --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,94 -1,18 +1,95 @@@ -5.0.10 +6.0-alpha3 + * Caffeine caches in CompressionDictionaryCache and ZstdDictionaryCompressor should specify an executor explicitly (CASSANDRA-21557) + * Make cqlsh prompt to reset to no keyspace set by USE after dropping that keyspace (CASSANDRA-21548) + * Implement CMS rediscovery and recovery protocol (CASSANDRA-20476) +Merged from 5.0: + * Avoid rebuilding per-SSTable SAI components unless missing or corrupted (CASSANDRA-21515) * Propagate trickle_fsync settings to compressed SSTable writers (CASSANDRA-21487) - * Allow DatabaseDescriptor.setCompressedReadAheadBufferSizeInKb(0) to disable read-ahead buffer (CASSANDRA-21522) - * Return CorruptSSTableException if chunk metadata and file size are out of sync (CASSANDRA-21519) -Merged from 4.0: - * Do not make DNS lookup when querying system_views.clients for hostname column by removing it (CASSANDRA-21539) + * Allow setCompressedReadAheadBufferSizeInKb(0) to disable read-ahead buffer (CASSANDRA-21522) + * Fix ThreadLocalReadAheadBuffer#fill() to throw a CorruptBlockException if chunk metadata and file size are out of sync (CASSANDRA-21519) * Fix memtable on-heap accounting drift in BTree.update and BTreeRow.merge (CASSANDRA-21472) +Merged from 4.0: + * Do not make DNS lookup when querying system_views.clients for hostname column by removing it (CASSANDRA-21539) -5.0.9 +6.0-alpha2 + * Apply performance optimizations for rows merging logic (CASSANDRA-21524) + * Fix operationMode reporting DECOMMISSION_FAILED instead of LEAVING when resuming a failed decommission (CASSANDRA-21493) + * Avoid megamorphic calls when serializing and deserializing fixed-length values (CASSANDRA-21536) + * Avoid megamorphic calls for Cell.timestamp/ttl/path/localDeletionTimeAsUnsignedInt methods (CASSANDRA-21526) + * Allow unreserved keywords as user and identity names in USER and IDENTITY statements (CASSANDRA-21510) + * Reduce allocations in DefaultQueryOptions (CASSANDRA-21467) * Coordinator load-shedding returns OverloadedException without setting streamId, misrouting query responses (CASSANDRA-21508) + * Reduce number of scheduledTasks on metric id release in ThreadLocalMetrics (CASSANDRA-21475) + * Cache various Enum.values() used in deserialization to avoid per-read array allocation (CASSANDRA-21528) + * Fix Accord transaction error message when altering a table (CASSANDRA-20580) + * Depend only on platform-specific Zstd JNI native libraries (CASSANDRA-21483) + * Expose immediately-executed tasks in the queries virtual table (CASSANDRA-21471) + * Avoid potential deadlock between GlobalLogFollower and GossipStage (CASSANDRA-21384) + * Add CMS membership as a field in ClusterMetadata (CASSANDRA-20736) + * Fix maven remote publishing of Accord artifacts (CASSANDRA-21261) + * Move long running TCM operations to a longer timout (CASSANDRA-21453) + * Offline nodetool commands should not print network options in help (CASSANDRA-20876) + * Defer creation of the system_cluster_metadata keyspace until CMS initialization (CASSANDRA-21477) + * Support direct I/O for background SSTable writes (CASSANDRA-21134) + * Relax assertion on partitioner instances in SinglePartitionReadCommand (CASSANDRA-21251) + * Report cancelled read command execution to coordinator as a RequestFailure.TIMEOUT (CASSANDRA-21468) + * Fix TCM log catchup from peer with snapshots and gaps in the log sequence (CASSANDRA-21455) + * Speed up nodetool doc generation by producing all command help in a single jvm (CASSANDRA-21444) + * Always send TCM commit failures as Messaging failures (CASSANDRA-21457) + * Fix ReadCommand serializedSize() using incorrect epoch (CASSANDRA-21438) + * Allocation improvements in ProtocolVersion, StorageProxy and MerkleTree (CASSANDRA-21199) + * Don’t leave autocompaction disabled during bootstrap and replace (CASSANDRA-21236) + * Make nodetool abortbootstrap more robust (CASSANDRA-21235) + * Don't clear prepared statement cache on nodetool cms initialize (CASSANDRA-21234) + * Improve performance when deserializing cluster metadata (CASSANDRA-21224) + * Minor TokenMap performance improvement (CASSANDRA-21223) + * Handle lost response when committing PrepareMove (CASSANDRA-21222) + * SEPExecutor.maybeExecuteImmediately does not always execute tasks immediately despite available worker capacity (CASSANDRA-21429) + * Safely regain ranges and delete retired command stores (CASSANDRA-21212) + * Reduce memory allocations in miscellaneous places along read path (CASSANDRA-21360) + * Avoid ByteBuffer wrapping in cql3.selection.Selector.InputRow to reduce memory allocation rate (CASSANDRA-21362) + * Reduce cost to calculate BTreeRow.minDeletionTime (CASSANDRA-21414) + * Implement custom CassandraThread to keep direct references to frequently used thread local objects (CASSANDRA-21020) + * Avoid megamorphic call overhead at RandomAccessReader#current (CASSANDRA-21399) + * Enable async GC logging for JDK versions which support it to avoid potential hiccups caused by GC log file I/O blocking (CASSANDRA-21372) + * Add rowsMutatedPerWriteHistogram metric to track rows mutated per write request (CASSANDRA-21320) + * Add TotalRowsRead and TotalRowsMutated counters to TableMetrics for accurate per-table row throughput tracking (CASSANDRA-21321) + * Move exception handling of SPI startup checks when iterating over them (CASSANDRA-21409) + * Avoid type lookup in SerializationHeader#getType if schema and SSTable are aligned (CASSANDRA-21402) + * Replace LongAdder in metric-like logic with ThreadLocalCounter (CASSANDRA-21400) + * BTreeRow.hasLiveData: avoid Cell iteration if there are no cell tombstones (CASSANDRA-21363) + * Reduce memory allocations in row merge logic (CASSANDRA-21359) + * Restore option to avoid hint transfer during decommission (CASSANDRA-21341) + * Add an offline cluster metadata tool (CASSANDRA-19151) + * Accord: Tail Latency Improvements (CASSANDRA-21361) + * Artificial Latency Injection (CASSANDRA-17024) + * Accord: Clean Shutdown/Restart, Rebootstrap, et al (CASSANDRA-21355) + * Reduce memory allocations in SelectStatement.getQuery (CASSANDRA-21351) + * Avoid allocation by getFunctions in SelectStatement.authorize (CASSANDRA-21347) + * Avoid unit conversion in DatabaseDescriptor.getMaxValueSize() for every deserializing Cell (CASSANDRA-21295) + * Fix single token batch atomicity with Accord/non-Accord batches by using the batch log (CASSANDRA-20588) + * Avoid CompactionOptions parsing for every read by WithoutPurgeableTombstones (CASSANDRA-21294) + * Ensure schema created before 2.1 without tableId in folder name can be loaded in SnapshotLoader (CASSANDRA-21246) + * Differentiate between legitimate cases where the first entry is the same as the last entry and empty bounds in SSTableCursorWriter#addIndexBlock() (CASSANDRA-21255) + * Introduce minimum_threshold for data resurrection startup check (CASSANDRA-21293) + * Synchronously publish changes to local gossip state following metadata updates (CASSANDRA-21239) + * Change default for cassandra.set_sep_thread_name to false to reduce CPU usage (CASSANDRA-21089) + * Avoid permission checks for masked columns when the table doesn't have any (CASSANDRA-21299) + * Reduce allocations and array copies due to buffer resizing in LocalDataResponse during row serialization (CASSANDRA-21285) + * Implement a guardrail for client driver versions (CASSANDRA-21146) + * Enable IAuthenticator to declare supported and alterable role options (CASSANDRA-20834) + * Avoid capturing lambda allocation in UnfilteredSerializer.deserializeRowBody (CASSANDRA-21289) + * Avoid Cell iterator allocation for alive rows in MetricsRecording transformation of ReadCommand (CASSANDRA-21288) + * Reuse a single TrackedDataInputPlus instance per UnfilteredSerializer (CASSANDRA-21296) + * In-tree docs are included in binary artifacts (tarball, deb, rpm) as html and man pages (CASSANDRA-17260) + * Add tooling to repair system peers and peers_v2 if inconsistent with cluster metadata (CASSANDRA-21187) + * Fix a removed TTLed row re-appearance in a materialized view after a cursor compaction (CASSANDRA-21152) + * Rework ZSTD dictionary compression logic to create a trainer per training (CASSANDRA-21209) +Merged from 5.0: * SAI Component Checksum Validation Should be Segment-Aware (CASSANDRA-21516) * Support Python 3.12 and 3.13 in cqlsh (CASSANDRA-20997) - * Fix AssertionError in hasReplicaWithOngoingRepair when parallel_repair_count > 1 (CASSANDRA-21426) + * Make synchronization on VectorMemoryIndex inserts more granular (CASSANDRA-21160) * putShortVolatile is not volatile in InMemoryTrie (CASSANDRA-21353) * Fix RequestFailureReason serializer and nits in a few others (CASSANDRA-21437) * Remove golang dependency in gen-doc and replace with python implementation (CASSANDRA-21432) --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
