Let's say in G-WAN server thread we looked up an item in the KV Store and got a valid pointer to a "record" struct. (The KV store is attached to G-WAN's persistent pointer.)
record = (record_t*)kv_get(&records, "akey", sizeof("akey") - 1);
I'm assuming we can safely read the contents of the record structure even if it is marked for deletion in another server thread thanks to the lock free design.
My question is when does the actual deletion take place? Are we guaranteed to have access to "record" until the request finally returns?