Deleting a strongly consistent key

Zsolt Laky zsolt.laky at lamardan.com
Fri Jan 9 04:55:41 EST 2015


Hello Drew,

Thinking through the delete operation on a strong consistent bucket, a
question popped up for me.

Should not we use delete_object instead to keep strong consistency? The
delete function takes a key and does not care about the current state/value
of the object itself. If in the meantime another process changes the value
of an object, delete will simply delete it. So is there a benefit using
delete on strongly consistent bucket other than swipe the bucket not caring
about other processes store their state info?

Thanks for your thoughts,
Zsolt

-----Eredeti üzenet-----
Feladó: riak-users [mailto:riak-users-bounces at lists.basho.com] Meghatalmazó
Drew Pirrone-Brusse
Küldve: Thursday, January 08, 2015 12:32 AM
Címzett: Igor Birman
Másolatot kap: riak-users at lists.basho.com
Tárgy: Re: Deleting a strongly consistent key

Hello Igor,

Deletions should be a strongly consistent operation, yes. If after a
successful strongly consistent delete a GET of that key returns stale data
something is likely wrong, be it with your application, the cluster, or Riak
itself.

That said, deletions don't actually remove keys from Riak. Strongly
consistent deletions should behave identically to conditional PUTs, where
the value put is a tombstone. When Riak is running in an eventually
consistent mode, those tombstones are (sometimes) eventually harvested and
removed from disk. In the strongly consistent mode (as with `delete_mode =
keep`) Riak will never harvest those tombstones, so they will remain on disk
indefinitely.
Our documentation has lots of good information, if you're looking for some
implementation details[1].

Generally speaking, if you know you're going to immediately re-use a key,
it's better to simply overwrite values than issuing an intermittent delete.

Best regards,
-Drew

[1]:
http://docs.basho.com/riak/latest/ops/advanced/strong-consistency/#Implement
ation-Details

On Wed, Jan 7, 2015 at 10:01 AM, Igor Birman <igor_birman at yahoo.com> wrote:
> Is deleting a strongly consistent key a consistent operation?  I have 
> found in testing that if I delete a key and then attempt to 
> immediately reuse it, sometimes the delete completes after I have 
> reused it.  Should I expect that when I get a 204 from a delete that I 
> can immediately create a new key with the same id?
>
> _______________________________________________
> riak-users mailing list
> riak-users at lists.basho.com
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>

_______________________________________________
riak-users mailing list
riak-users at lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com


---
This email has been checked for viruses by Avast antivirus software.
http://www.avast.com





More information about the riak-users mailing list