Hi, We have a namespace configured to store data in memory only with couple of minutes default ttl. After starting putting some data into it, when expiration kicks in, we’re getting these messages in the log (a lot, for ~30% of expired records):
WARNING (namespace): (namespace.c::762) set_id 1 - n_bytes_memory went negative!
Any advice what might be the reason?
Update: I’ve prepared simple setup for reproducing this: GitHub - akkomar/aerospike-test - it contains server configuration with instructions on running it in Docker container + small client app for loading some random data.
Update2: It seems that it’s happening only if I update records via UDF. The simplest one that reproduces this:
local VAL_KEY = "v"
function add_data(rec, val_to_add, ttl_to_set)
if aerospike:exists(rec) then
rec[VAL_KEY] = val_to_add
aerospike:update(rec)
else
rec[VAL_KEY] = val_to_add
aerospike:create(rec)
end
end
Also, when I execute the same operation via Java API - everything seems to work fine (example github repo mentioned earlier is updated with Java API example) /cc @wchu