Deleting a strongly consistent key

Drew Pirrone-Brusse dpirrone-brusse at basho.com
Wed Jan 7 18:32:28 EST 2015


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/#Implementation-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
>




More information about the riak-users mailing list