You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by Apache Wiki <wi...@apache.org> on 2010/06/11 22:48:47 UTC

[Cassandra Wiki] Update of "FAQ" by ErikLogtenberg

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for change notification.

The "FAQ" page has been changed by ErikLogtenberg.
The comment on this change is: range ghosts.
http://wiki.apache.org/cassandra/FAQ?action=diff&rev1=69&rev2=70

--------------------------------------------------

  == Why do deleted keys show up during range scans? ==
  Because get_range_slice says, "apply this predicate to the range of rows given," meaning, if the predicate result is empty, we have to include an empty result for that row key.  It is perfectly valid to perform such a query returning empty column lists for some or all keys, even if no deletions have been performed.
  
- So to special case leaving out result entries for deletions, we would have to check the entire rest of the row to make sure there is no undeleted data anywhere else either (in which case leaving the key out would be an error).
+ So to special case leaving out result entries for deletions, we would have to check the entire rest of the row to make sure there is no undeleted data anywhere else either (in which case leaving the key out would be an error). These rows are also called "range ghosts".
  
  This is what we used to do with the old get_key_range method, but the performance hit turned out to be unacceptable.