Detail
When Aerospike is running in a hybrid or in-memory mode there is a threshold controlling when the database moves into read-only mode, known as stop-writes. Specifically this is triggered by:
- memory usage using the
stop-writes-pctparameter. - storage fragmentation through the
min-avail-pctparameter.
What is the analogue to these when the primary index is stored on disk (All Flash configuration)?
Answer
There is no analogue tostop-writes-pct when the primary index is being stored on disk. When the index is in RAM the memory configured for the namespace is simply a value used to calculate when to trigger eviction and when to hit stop-writes. Certain kinds of writes (replica writes and migrations) can still go through meaning that the memory usage can exceed 100% of the configured value. The eventual result of this would be the Aerospike process could get OOM killed by the operating system. When the index is on disk, there is a finite amount of space that can be used to contain the index and as such, unlike index in RAM, it is not possible to exceed that amount of space and an analogue to stop-writes-pct is not necessary. When exceeding the available storage space for the index when the index is stored on disk, record insertions (new writes) will fail, but reads and record updates will still succeed.Notes
- There is an index on disk analogue to
memory-high-water-pctwhich defines the point at which the systems will start to evict data (if there is data with TTL set). On an index on disk system the eviction point is controlled usingmounts-high-water-pct - Please check eviction, expiration and stop-writes for details.