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]

Reply via email to