diff --git a/CHANGES.txt b/CHANGES.txt index 772610ff9e..3a14287612 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -199,6 +199,7 @@ * 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: + * Make Commitlog flush data safely in Direct IO mode (CASSANDRA-20692) * Get SAI MemtableIndex refs before SSTableIndex refs at query time (CASSANDRA-20709) * Fix MAX_SEGMENT_SIZE < chunkSize in MmappedRegions::updateState (CASSANDRA-20636) * Full Java 17 support (CASSANDRA-20681) diff --git a/src/java/org/apache/cassandra/db/commitlog/DirectIOSegment.java b/src/java/org/apache/cassandra/db/commitlog/DirectIOSegment.java index b4819aa201..fec799ce9d 100644 --- a/src/java/org/apache/cassandra/db/commitlog/DirectIOSegment.java +++ b/src/java/org/apache/cassandra/db/commitlog/DirectIOSegment.java @@ -177,7 +177,12 @@ public class DirectIOSegment extends CommitLogSegment public DirectIOSegment build() { return new DirectIOSegment(segmentManager, - path -> FileChannel.open(path, StandardOpenOption.WRITE, StandardOpenOption.READ, StandardOpenOption.CREATE, ExtendedOpenOption.DIRECT), + path -> FileChannel.open(path, + StandardOpenOption.WRITE, + StandardOpenOption.READ, + StandardOpenOption.CREATE, + StandardOpenOption.DSYNC, + ExtendedOpenOption.DIRECT), fsBlockSize); }