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: https://github.com/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