cassandra/test/conf
samlightfoot 002190748b Support direct I/O for background SSTable writes
Adds an opt-in O_DIRECT write path for background SSTable producers,
bypassing the OS page cache for data that is unlikely to be re-read
soon after being written. Memtable flushes remain buffered.

Enabled via two new YAML knobs:
 - background_write_disk_access_mode: standard (default) | direct
 - direct_write_buffer_size: 1MiB (default; aligned up to FS block
   size, auto-grown to fit a worst-case compressed chunk)

The path is gated by config, table compression being enabled, and an
OperationType allowlist in DataComponent. The allowlist is exhaustive
over OperationType: any new value left unclassified fails static
initialization.

Operations on the DIO path: COMPACTION, MAJOR_COMPACTION,
TOMBSTONE_COMPACTION, ANTICOMPACTION, GARBAGE_COLLECT, CLEANUP,
UPGRADE_SSTABLES, WRITE, STREAM (chunked receiver only), RELOCATE,
UNKNOWN (offline sstablesplit).

Operations off the DIO path:
 - FLUSH (policy: just-flushed data is hot, keep in page cache)
 - SCRUB (correctness: tryAppend needs mark/resetAndTruncate)
 - Zero-Copy Streaming (bypasses DataComponent.buildWriter)
 - Uncompressed writers (only CompressedSequentialWriter has a DIO
   subclass in this change)

StartupChecks fails fast if 'direct' is requested on a platform/FS
that does not support O_DIRECT.

patch by Sam Lightfoot; reviewed by Ariel Weisberg, Dmitry Konstantinov for CASSANDRA-21134
2026-06-24 14:57:46 +01:00
..
triggers Fix trigger directory detection code 2013-08-03 11:21:07 -07:00
unit-test-conf Merge branch 'cassandra-5.0' into trunk 2024-08-15 11:26:39 -05:00
cassandra-converters-special-cases-old-names.yaml Add tests for MILLIS_CUSTOM_DURATION and MILLIS_DURATION_DOUBLE 2022-08-08 15:24:28 -04:00
cassandra-converters-special-cases.yaml Add tests for MILLIS_CUSTOM_DURATION and MILLIS_DURATION_DOUBLE 2022-08-08 15:24:28 -04:00
cassandra-jmx-disabled-sslconfig.yaml Miscellaneous migration test fixes 2025-04-17 11:59:53 -07:00
cassandra-jmx-pem-sslconfig.yaml Miscellaneous migration test fixes 2025-04-17 11:59:53 -07:00
cassandra-jmx-sslconfig-with-passwordfile.yaml Miscellaneous migration test fixes 2025-04-17 11:59:53 -07:00
cassandra-jmx-sslconfig.yaml Miscellaneous migration test fixes 2025-04-17 11:59:53 -07:00
cassandra-mtls-backward-compatibility.yaml Merge branch 'cassandra-4.1' into cassandra-5.0.0 2024-08-15 10:49:50 -05:00
cassandra-mtls.yaml CEP-15: Add Accord configuration stub 2025-04-17 11:59:49 -07:00
cassandra-murmur.yaml CEP-15: Add Accord configuration stub 2025-04-17 11:59:49 -07:00
cassandra-old.yaml CEP-15: Add Accord configuration stub 2025-04-17 11:59:49 -07:00
cassandra-passwordauth.yaml Enable IAuthenticator to declare supported and alterable role options 2026-04-12 22:15:49 +02:00
cassandra-pem-jks-sslcontextfactory.yaml CEP-15: Add Accord configuration stub 2025-04-17 11:59:49 -07:00
cassandra-pem-sslcontextfactory-invalidconfiguration.yaml CEP-15: Add Accord configuration stub 2025-04-17 11:59:49 -07:00
cassandra-pem-sslcontextfactory-mismatching-passwords.yaml Merge branch 'cassandra-4.1' into cassandra-5.0.0 2024-08-15 10:49:50 -05:00
cassandra-pem-sslcontextfactory-unencryptedkeys.yaml Merge branch 'cassandra-4.1' into cassandra-5.0.0 2024-08-15 10:49:50 -05:00
cassandra-pem-sslcontextfactory-with-passwordfile.yaml Provide keystore_password_file and truststore_password_file options to read credentials from a file 2025-03-04 12:33:41 +01:00
cassandra-pem-sslcontextfactory.yaml CEP-15: Add Accord configuration stub 2025-04-17 11:59:49 -07:00
cassandra-rackdc.properties Use standard Amazon naming for datacenter and rack in Ec2Snitch. 2018-04-16 17:59:06 -07:00
cassandra-rackdc.properties.mod Auto reload GossipingPropertyFileSnitch config 2014-03-06 11:22:47 -06:00
cassandra-seeds.yaml CEP-15: Add Accord configuration stub 2025-04-17 11:59:49 -07:00
cassandra-sslcontextfactory-invalidconfiguration.yaml CEP-15: Add Accord configuration stub 2025-04-17 11:59:49 -07:00
cassandra-sslcontextfactory.yaml CEP-15: Add Accord configuration stub 2025-04-17 11:59:49 -07:00
cassandra-topology.properties rename test cassandra-rack.properties to cassandra-topology 2010-10-14 20:35:06 +00:00
cassandra.keystore Replace keystore for utests with non export restricted cipher keys 2016-11-29 11:06:08 -08:00
cassandra.yaml ninjia: add an accidentally removed newline in test/conf/cassandra.yaml 2026-05-14 14:43:21 +01:00
cassandra_encryption.yaml Bulk change of units around the code to support the move to the new configuration framework 2022-02-05 22:28:57 -05:00
cassandra_ssl_test.keystore Fix TLS-related tests after a JDK update in build image 2026-06-21 21:56:39 +01:00
cassandra_ssl_test.keystore.pem Fix TLS-related tests after a JDK update in build image 2026-06-21 21:56:39 +01:00
cassandra_ssl_test.truststore Fix TLS-related tests after a JDK update in build image 2026-06-21 21:56:39 +01:00
cassandra_ssl_test.truststore.pem Fix TLS-related tests after a JDK update in build image 2026-06-21 21:56:39 +01:00
cassandra_ssl_test.unencrypted_keystore.pem Fix TLS-related tests after a JDK update in build image 2026-06-21 21:56:39 +01:00
cassandra_ssl_test_endpoint_verify.keystore Adding endpoint verification option to client_encryption_options 2022-11-15 16:06:21 -08:00
cassandra_ssl_test_keystore_passwordfile.txt Provide keystore_password_file and truststore_password_file options to read credentials from a file 2025-03-04 12:33:41 +01:00
cassandra_ssl_test_nopassword.keystore Fix TLS-related tests after a JDK update in build image 2026-06-21 21:56:39 +01:00
cassandra_ssl_test_outbound.keystore Adding Mutual TLS authenticators for client & internode connections 2023-07-28 13:54:06 -07:00
cassandra_ssl_test_outbound_keystore_password.txt Provide keystore_password_file and truststore_password_file options to read credentials from a file 2025-03-04 12:33:41 +01:00
cassandra_ssl_test_spiffe.keystore Allow CQL client certificate authentication to work without sending an AUTHENTICATE request 2024-01-30 17:05:07 -08:00
cassandra_ssl_test_truststore_passwordfile.txt Provide keystore_password_file and truststore_password_file options to read credentials from a file 2025-03-04 12:33:41 +01:00
cdc.yaml Remove Windows-specific classes and related code 2022-02-05 15:41:33 +01:00
commitlog_archiving.properties Fix CommitLogReplayer date time issue 2013-09-14 16:05:54 -07:00
commitlog_compression_LZ4.yaml Add Zstd compressor 2019-02-22 15:06:06 -08:00
commitlog_compression_Zstd.yaml Add Zstd compressor 2019-02-22 15:06:06 -08:00
datacenters.properties sanity-check replica count against number of nodes in the cluster. patch by mdennis; reviewed by jbellis for CASSANDRA-1191 2010-07-01 17:20:39 +00:00
keystore.jks Preserve order for preferred SSL cipher suites 2016-02-29 17:17:47 +00:00
latest_diff.yaml Support direct I/O for background SSTable writes 2026-06-24 14:57:46 +01:00
logback-burntest.xml Upgrade logback version to 1.5.18 and slf4j dependencies to 2.0.17 2026-02-06 13:28:03 +11:00
logback-dtest-quiet.xml Upgrade logback version to 1.5.18 and slf4j dependencies to 2.0.17 2025-04-25 14:24:35 +02:00
logback-dtest.xml Upgrade logback version to 1.5.18 and slf4j dependencies to 2.0.17 2026-02-06 13:28:03 +11:00
logback-dtest_with_slow_query_appender.xml Upgrade logback version to 1.5.18 and slf4j dependencies to 2.0.17 2025-04-25 14:24:35 +02:00
logback-dtest_with_slow_query_appender_invalid.xml Upgrade logback version to 1.5.18 and slf4j dependencies to 2.0.17 2025-04-25 14:24:35 +02:00
logback-dtest_with_vtable_appender.xml Upgrade logback version to 1.5.18 and slf4j dependencies to 2.0.17 2026-02-06 13:28:03 +11:00
logback-dtest_with_vtable_appender_invalid.xml Upgrade logback version to 1.5.18 and slf4j dependencies to 2.0.17 2026-02-06 13:28:03 +11:00
logback-error.xml Improve Tail Latency 2026-05-13 15:15:23 +01:00
logback-jmh.xml Upgrade logback version to 1.5.18 and slf4j dependencies to 2.0.17 2026-02-06 13:28:03 +11:00
logback-simulator.xml Upgrade logback version to 1.5.18 and slf4j dependencies to 2.0.17 2026-02-06 13:28:03 +11:00
logback-test.xml Upgrade logback version to 1.5.18 and slf4j dependencies to 2.0.17 2026-02-06 13:28:03 +11:00
sstableloader_with_encryption.yaml Fix ignored streaming encryption settings in sstableloader 2022-03-02 08:00:40 -06:00
storage_compatibility_mode_none.yaml Extend maximum expiration date 2023-06-05 07:18:34 +02:00
system_keyspaces_directory.yaml Improve system tables handling in case of disk failures 2021-02-04 15:04:22 +01:00