If I try to retrieve a column that is not present, using get(), then I'll
get a NotFoundException.

If (for efficiency's sake) I try to retrieve several named columns using
get_slice, with a column_names predicate (i.e. a list of columns) then I
won't get the exception if one of those columns is missing, I think?

This seems inconsistent - would it make sense for get_slice to throw the
exception too, or perhaps have an option to require all columns to be
present?


The reason this came up is that I write and read with CL.ONE, and retry at
the client side in case of (very occasional) failures, with the aim of
improving availability and performance by avoiding CL.QUORUM etc.
This is easy in the get() case - I can just retry a few times if I get a
NotFoundException. I normally only need to retry once, in less than 0.1% of
cases.

For the get_slice case I'd need to retrieve all the columns again (might be
wasteful) or check which ones were returned and form a new request (seems
overly complex) or give up using get_slice and just use individual get()
calls (seems inefficient).

See also https://issues.apache.org/jira/browse/CASSANDRA-518

Thanks,

David.

Reply via email to