Netflix / dynomite

A generic dynamo implementation for different k-v storage engines
Apache License 2.0
4.2k stars 531 forks source link

Make scripts auto-cleanup stale metadata if detected #739

Closed smukil closed 5 years ago

smukil commented 5 years ago

If we have metadata that exists for a key, but the key itself does not exist, we would previously get an ambiguous response with the status code 'E' but a (nul) value.

This patchset deletes the metadata if this case is detected and returns status code 'X' to denote that the value does not exist.

In normal operation, this ambiguous case should never happen, however, it can happen if read repairs had been disabled and then reenabled with live traffic between them. In this case, we don't want it to crash. This was found in a TEST cluster and I've confirmed that this fixes it.