On Wed, Jan 27, 2010 at 10:03 AM, Gary Dusbabek <gdusba...@gmail.com> wrote: > The context of this discussion comes from CASSANDRA-293. > > Since it relies on keys, current hinted handoff scheme isn't going to > work for when a range-remove operation needs to be hinted for a downed > node. The idea I'm playing with now is to use a store-and-forward > mechanism for hints where the entire message is stored and later sent > to the destination when the host comes back up.
The main problem with this approach is that since have one hint row per keyspace it will make the hint rows huge very very quickly, since you are potentially storing entire rows as a single column (the hint message). So this would definitely require CASSANDRA-16 (the very-large-rows ticket). Currently we are not fully leveraging our data model -- the HH columns use the column name as hinted row key, w/ empty value. If we used a UUID for column name instead, we could have value be a tuple of (hint type, hint value), i.e., either (KEY, key string) or (RANGEDELETE, serialized deletion message). A third option would be to drop HH entirely. I'll describe that in more detail in another message. -Jonathan