Nivy Kani created CASSANDRA-21752:
-------------------------------------
Summary: StartupChecks.checkReadAheadKbSetting does not work with
mapped virtual devices
Key: CASSANDRA-21752
URL: https://issues.apache.org/jira/browse/CASSANDRA-21752
Project: Apache Cassandra
Issue Type: Bug
Components: Feature/Startup Checks
Reporter: Nivy Kani
Assignee: Nivy Kani
The default setting for kernel read ahead is suboptimal for I/O (4096KB), so
CASSANDRA-16436 previously added a startup check to warn operators when it’s
misconfigured.
However, this check relies on the file path being in a specific format (it
takes the device name returned by FileStore.name() for each data directory and
looks it up under /sys/block/<device>/queue/read_ahead_kb.).
This breaks for device-mapper-backed volumes, where FileStore.name() returns
the device-mapper alias path rather than the real kernel block device. As a
result, the check just logs a DEBUG-level "No 'read_ahead_kb' setting found”
message instead of warning the operator.
The proposed fix finds each disk's real kernel name by checking every device’s
alias name under /sys/block and making a reverse-lookup map (instead of relying
on /dev/mapper, which isn't accessible inside the containers where this bug
occurs).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]