invalidation by namespace Re: Listing all keys on a server: why?

Martin Atkins mart at degeneration.co.uk
Fri Jul 28 18:05:05 UTC 2006


Serhat Sakarya wrote:
> On 7/28/06, Paul T <pault12345 at yahoo.com> wrote:
>>
>>
>> 3. key_salt is stored in memcached forever.
> 
> 
> The problem I see with this approach is that when the salt *does* get lost
> (node reboot, failure, etc), you risk that old data may be revalidated.

This is a very good point. What if the revision counter expires before 
the data?

It does mean that whichever node the revision counter is on becomes a 
single point of failure for that namespace, too. If that node goes down 
you've lost the entire namespace until it comes back up again, at which 
point you're worse off because your counter goes back to zero.

The only solution that springs readily to mind is to treat the revision 
counter like any other cached value and store it in persistent storage 
as well as in memcache. That way you can restore it should it be lost. 
In normal circumstances, this becomes a performance hit only when 
invalidating a revision.




More information about the memcached mailing list