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

Reply via email to