Thank you for the reply. My observation does not quite match up with this though so I'm still a bit confused. The deleted keys appeared to stay long past the 3 seconds described in the post you referenced. In fact, I don't know if they ever "went away". I'll run some more tests to see if I can narrow down the exact behavior, for example not all key deletions exhibited this behavior (the test I ran resulted in 118 residual keys out of around 20K deletes). If I directly queried any of the keys it would respond with "not found" and immediately stop showing up in the key list or $key index query.
I'm still running a bunch of tests just to learn the behavior of the system so I'll keep plugging away at it. For example, I'm observing that $key index queries halt inserts into the same bucket while the query is running, I don't know yet if this halts all server activity or just the inserts for that bucket though. Regards Steve On Tue, May 22, 2012 at 8:58 AM, Kelly McLaughlin <ke...@basho.com> wrote: > Hi Steve. There is no caching of key lists in riak. What you are seeing is > likely the fact that listing of keys or index queries can pick up deleted > keys due to the fact that riak keeps tombstone markers around for deleted > objects for some period. For a really good explanation of riak's delete > behavior check out this writeup by Jon Meredith: > http://lists.basho.com/pipermail/riak-users_lists.basho.com/2011-October/006048.html. > You can set delete_mode to immediate as described in that post and you will > most likely not see any deleted keys when you do an index query or key > list. The tradeoff is that you may get the unexpected behavior when doing > concurrent updates to the same set of keys that the delete_mode changes > were designed to address as Jon also indicates in that post. We are > considering different options on this front, but at this time no actual > changes have been made to address this. > > Kelly > > On May 20, 2012, at 10:13 AM, Steve Warren wrote: > > The last message I saw on this (from a year ago) says the caching of key > lists will be removed. I just ran into it while running a $key index range > search. I then ran a ?key=stream search on the bucket and the same stale > key list appeared (I had created a bunch of data and then deleted it as a > test). Did the caching removal not happen? I'm running 1.1.2 > > The query: > > curl 'localhost:8098/buckets/testbucket/index/$key/0/g' > > As others have noted, this behavior is quite disconcerting and I don't > want to pepper the application with otherwise unnecessary checks for stale > keys even on 2i range queries. Or is that unavoidable? > > Regards > Steve > _______________________________________________ > riak-users mailing list > riak-users@lists.basho.com > http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com > > >
_______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com