3 ms·
What cache invalidation? There's just cache expiration, that's occasionally not respecting the specs.
by himinlomax 3y ago
What cache invalidation? There's just cache expiration, that's occasionally not respecting the specs.
- dietr1ch 3y agoPsss. They are not really talking about DNS, but referencing one of the many descendants of this quote, > There are only two hard things in Computer Science: cache invalidation and naming things. --Phil Karlton Random reference, https://martinfowler.com/bliki/TwoHardThings.html https://martinfowler.com/bliki/TwoHardThings.html
- vidarh 3y agoBut it is unusually apt in the case of DNS, given it is about naming things and caching is one of the major things that keeps biting people with DNS.
- ilyt 3y agoFrom what I've noticed 99% of "things biting people in DNS" is the way windows domain does it, at least the sentiment for "it's always DNS" tend to be far stronger on windows side of things
- vidarh 3y agoI've never had to deal with the windows side of things, thankfully. All of my experience with DNS caching issues is with other systems.
- HPsquared 3y agoThat must be why DNS is hard, it's completely made up of the difficult stuff.
- infogulch 3y agoYeah there's no need for invalidation, just observe the ttl to the letter. Oh hang on let me take this call.. yes I wrote the dns sever, ah so it runs out of memory, uh huh, wait how many unique domai-, mm, a 2000 second TTL is pretty low actu-, wait years?!, no you're right stability is important, no I can't fix the whole world, ok, so like an LRU, yeah that would be a start at least, ok bye. Wait a second.. THERE YOU ARE! You little rascal, you were trying to hide from me weren't you. You're a good little problem, yes you are, you're going to torture me later aren't you?, yes of course you will, it's a good thing you're so cute huh. Good now run along and go play with the other nightmares. Look at em go, wow they grow up in complexity so fast. Anyways what we were talking about? Oh yeah "just" expiring the cache.
- tremon 3y agoOh there is definitely a need for invalidation sometimes, but the system doesn't support it, due to its openness: authoritative servers don't track their consumers. But the protocol does support it. So, if you really need invalidation, go talk to the world's resolvers and ask them to process dns NOTIFYs from your authoritative DNS servers.
- infogulch 3y agoAll of expiry, eviction, and flushing counts as "invalidation" in the context of "the hard problems of computer science".
- himinlomax 3y agoThe spec is clear, you can expire the cache whenever you want/need before the TTL, and you must expire it immediately after the TTL. The only problem occurs when broken caches fail to expire.
- vasco 3y agoCache expiration is just time based cache invalidation, one of the many ways you can implement invalidation.
- NoZebra120vClip 3y agoIt is not uncommon for resolvers to cache negative answers as well.