Aerospike fails to start with dirty_bytes related error

The Aerospike Knowledge Base has moved to https://support.aerospike.com. Content on https://discuss.aerospike.com is being migrated to either https://support.aerospike.com or https://docs.aerospike.com. Maintenance on articles stored in this repository ceased on December 31st 2022 and this article may be stale. If you have any questions, please do not hesitate to raise a case via https://support.aerospike.com.

Aerospike failing to start with dirty_bytes writing permission denied error

Problem Description

When starting Aerospike, the startup fails and the following message is observed:

Dec 08 2020 09:41:52 GMT: WARNING (hardware): (hardware.c:247) error while opening file /proc/sys/vm/dirty_bytes for writing: 13 (Permission denied)
Dec 08 2020 09:41:52 GMT: FAILED ASSERTION (hardware): (hardware.c:276) write failed unexpectedly
Dec 08 2020 09:41:52 GMT: WARNING (as): (signal.c:209) SIGUSR1 received, aborting Aerospike Enterprise Edition build 4.5.0.4 os debian8

Explanation

This error occurs when the dirty_ratio kernel option is set. The dirty_ratio and dirty_bytes kernel options are two ways to specify the amount of dirty memory a process generating writes can have before writeback is started. As these two parameters specify the same thing, but in different ways (amount of bytes or percentage of total memory), they cannot be set concurrently.

Solution

To resolve this issue, dirty_ratio must be unset as Aerospike attempts to set dirty_bytes at startup and will fail if this cannot be done, whether or not the root user is used to start the node.

Keywords

Timestamp

December 2020