This is an automated email from the ASF dual-hosted git repository. jlewandowski pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/cassandra.git
commit 008c1b397beff073944f4b9353f73de5eabe4a14 Merge: 3b47b5e473 3259bea533 Author: Jacek Lewandowski <lewandowski.ja...@gmail.com> AuthorDate: Wed Nov 29 11:29:23 2023 +0100 Merge branch 'cassandra-5.0' into trunk * cassandra-5.0: Enable Direct-IO feature for CommitLog files using Java native API's. CHANGES.txt | 1 + NEWS.txt | 3 + conf/cassandra.yaml | 10 + src/java/org/apache/cassandra/config/Config.java | 3 + .../cassandra/config/DatabaseDescriptor.java | 111 ++++++++-- .../commitlog/AbstractCommitLogSegmentManager.java | 70 +++++-- .../apache/cassandra/db/commitlog/CommitLog.java | 40 +++- .../cassandra/db/commitlog/CommitLogSegment.java | 73 ++++--- .../db/commitlog/CommitLogSegmentManagerCDC.java | 3 +- .../commitlog/CommitLogSegmentManagerStandard.java | 4 +- .../cassandra/db/commitlog/CompressedSegment.java | 41 +++- .../cassandra/db/commitlog/DirectIOSegment.java | 228 +++++++++++++++++++++ .../cassandra/db/commitlog/EncryptedSegment.java | 47 ++++- .../cassandra/db/commitlog/FileDirectSegment.java | 7 +- .../db/commitlog/MemoryMappedSegment.java | 37 +++- .../org/apache/cassandra/io/util/FileUtils.java | 19 ++ .../org/apache/cassandra/io/util/PathUtils.java | 17 +- .../apache/cassandra/service/StorageService.java | 9 + test/conf/cassandra.yaml | 1 + .../cassandra/distributed/impl/InstanceConfig.java | 3 +- .../db/commitlog/BatchCommitLogStressTest.java | 4 +- .../db/commitlog/CommitLogStressTest.java | 37 +++- .../db/commitlog/GroupCommitLogStressTest.java | 4 +- .../db/commitlog/PeriodicCommitLogStressTest.java | 4 +- .../cassandra/config/DatabaseDescriptorTest.java | 109 +++++++++- .../cassandra/db/RecoveryManagerFlushedTest.java | 1 + .../db/RecoveryManagerMissingHeaderTest.java | 1 + .../apache/cassandra/db/RecoveryManagerTest.java | 1 + .../cassandra/db/RecoveryManagerTruncateTest.java | 1 + .../db/commitlog/CommitLogChainedMarkersTest.java | 7 +- .../CommitLogSegmentBackpressureTest.java | 1 + .../cassandra/db/commitlog/CommitLogTest.java | 1 + .../db/commitlog/CommitlogShutdownTest.java | 1 + .../db/commitlog/DirectIOSegmentTest.java | 173 ++++++++++++++++ .../org/apache/cassandra/utils/Generators.java | 8 + 35 files changed, 945 insertions(+), 135 deletions(-) diff --cc CHANGES.txt index 5a4f693998,4a21998453..06a4e36f18 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,9 -1,5 +1,10 @@@ -5.0-beta1 +5.1 + * Transactional Cluster Metadata [CEP-21] (CASSANDRA-18330) + * Add ELAPSED command to cqlsh (CASSANDRA-18861) + * Add the ability to disable bulk loading of SSTables (CASSANDRA-18781) + * Clean up obsolete functions and simplify cql_version handling in cqlsh (CASSANDRA-18787) +Merged from 5.0: + * Enable Direct-IO feature for CommitLog files using Java native API's. (CASSANDRA-18464) * SAI fixes for composite partitions, and static and non-static rows intersections (CASSANDRA-19034) * Improve SAI IndexContext handling of indexed and non-indexed columns in queries (CASSANDRA-18166) * Fixed bug where UnifiedCompactionTask constructor was calling the wrong base constructor of CompactionTask (CASSANDRA-18757) diff --cc src/java/org/apache/cassandra/config/DatabaseDescriptor.java index 9d0cdc61e8,e0cbde171d..b304100957 --- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java +++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java @@@ -139,7 -136,6 +140,12 @@@ import static org.apache.cassandra.conf import static org.apache.cassandra.config.DataRateSpec.DataRateUnit.BYTES_PER_SECOND; import static org.apache.cassandra.config.DataRateSpec.DataRateUnit.MEBIBYTES_PER_SECOND; import static org.apache.cassandra.config.DataStorageSpec.DataStorageUnit.MEBIBYTES; - import static org.apache.cassandra.db.ConsistencyLevel.*; ++import static org.apache.cassandra.db.ConsistencyLevel.ALL; ++import static org.apache.cassandra.db.ConsistencyLevel.EACH_QUORUM; ++import static org.apache.cassandra.db.ConsistencyLevel.LOCAL_QUORUM; ++import static org.apache.cassandra.db.ConsistencyLevel.NODE_LOCAL; ++import static org.apache.cassandra.db.ConsistencyLevel.ONE; ++import static org.apache.cassandra.db.ConsistencyLevel.QUORUM; import static org.apache.cassandra.io.util.FileUtils.ONE_GIB; import static org.apache.cassandra.io.util.FileUtils.ONE_MIB; import static org.apache.cassandra.utils.Clock.Global.logInitializationOutcome; diff --cc src/java/org/apache/cassandra/service/StorageService.java index 865ecb14b2,66a3db055d..e491cf0777 --- a/src/java/org/apache/cassandra/service/StorageService.java +++ b/src/java/org/apache/cassandra/service/StorageService.java @@@ -270,9 -286,20 +270,18 @@@ public class StorageService extends Not public static final int INDEFINITE = -1; public static final int RING_DELAY_MILLIS = getRingDelay(); // delay after which we assume ring has stablized - public static final int SCHEMA_DELAY_MILLIS = getSchemaDelay(); - - private static final boolean REQUIRE_SCHEMAS = !BOOTSTRAP_SKIP_SCHEMA_CHECK.getBoolean(); + { + PathUtils.setDeletionListener(path -> { + if (isDaemonSetupCompleted()) + PathUtils.setDeletionListener(ignore -> {}); + else + logger.trace("Deleting file during startup: {}", path); + }); + } + private final JMXProgressSupport progressSupport = new JMXProgressSupport(this); + private final AtomicReference<BootStrapper> ongoingBootstrap = new AtomicReference<>(); private static int getRingDelay() { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org