i have set the disable-eviction on , and then insert a record , and then get the ttl expire time the record still been eviction , why does disable-eviction not work ?
i want to use this feature to make a set be unexpired , but failed
my aerospike version is 3.15.0.3 , only memory mode , only one node
eviction is aerospike removing a record closest to expiration when you start running out of disk space (exceed the disk high-water-mark - default 50% for disk, 60% for memory). You will not hit eviction when you just entered one record.
expiration is natural end of life of the record. aerospike removes expired records. if you donāt want a record to expire, set TTL to 0 in namespace config or set TTL =-1 from the client - make it ālive foreverā.
set-disable-eviction
With this setting turned on, a set will be protected from evictions. If evictions are in effect, records on a set with set-disable-eviction turned on will not be evicted, regardless of their expiration time.
but i read the doc again ,the doc says if disable-eviction turn on, record will not be evict , no matter if the record get itās expiration time;
whatās the different between expired and eviction ?
in my understanding, the data expired and server get the HWM , then server begin evict those expired data , if server not evict those expired data ļ¼set-disable-eviction turn onļ¼ , does those expired data can be selected or readable ? if not , why do we need (set-disable-eviction ) disable eviction , any way ,we canāt get the expired data , and the dirty page of memory for store these expired data canāt be flush .
refer to this topic Why expired-objects > (evicted-objects+ object)
now i know the difference between eviction and expiration ,
both of them are memory flush mechanismļ¼but expiration flush method is frequency flush , evition is conditionally(HWM) flush
expiration - is a feature: you are telling Aerospike, after n seconds or n days, would you kindly get rid of this record for me? if you donāt want to use it, declare record as ālive-for-everā.
This is useful for storing things like user browsing data which may be irrelevant after 30 days or 90 days and you donāt want to go back into Aerospike to clean it up.