4 pointsby axeldelat4 hours ago2 comments
  • inigyou4 hours ago
    There is no such thing as DNS propagation, only DNS cache invalidation, and by polling it, you are making your old records stay in more caches and for longer.

    BGP, on the other hand, propagates.

    • stavros4 hours ago
      Why does the cache mean "nobody requested this in a while, I can drop it" rather than "this may have changed upstream, I'll drop it"?
      • inigyou4 hours ago
        The server you poll may delegate the request to a server that has the old data in cache. Now the old data is in two caches.
      • processunknown4 hours ago
        id guess that most resolvers have a least recently used (LRU) policy
        • stavros4 hours ago
          But they must still have a TTL, they can't just store stale records forever.
          • axeldelat4 hours ago
            You're right, it's TTL not LRU. The authoritative server publishes a TTL with the record — "you may keep this for N seconds" — and when it's up the resolver has to ask again no matter how popular it is.

            LRU does show up in resolvers, but as memory management: cache is full, evict the least recently used early. It can only make something disappear sooner than its TTL, never later.

            It's time-based because there's no back-channel. An authoritative server has no idea who's holding a copy of its records, so it can't push an invalidation.

            • stavros4 hours ago
              Yep, that's my mental model as well, thanks.
    • axeldelat4 hours ago
      [flagged]
  • axeldelat4 hours ago
    [flagged]