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.
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.