DNS TTL Explains Cache Timing During a Record Change
Plan DNS changes with TTL, distinguish cached and authoritative answers, and diagnose negative caching, stale data, and migration delays.
- domains
- security
- guide
DNS TTL controls ordinary cache reuse. TTL does not define one global deadline for every DNS change. To diagnose a slow change, inspect the authoritative answer, the resolver's cached answer, and the record type that the application actually requests.
A lower TTL helps planned migrations when administrators publish the lower value before changing the destination. Lowering TTL at the moment of migration cannot rewrite copies that resolvers already cached under the previous value.
The practical goal is a controlled transition with evidence. Preserve the old destination while necessary, verify the new authoritative data, and observe representative resolvers. A dashboard message that says “propagating” should not replace those checks.
TTL limits cache reuse rather than broadcasting an update

An authoritative server supplies the zone's DNS records. A recursive resolver can cache an answer and reuse that answer for later clients. RFC 1034 describes TTL in seconds and distinguishes cache timing from authoritative zone maintenance.
The distinction explains a common surprise. A DNS dashboard can show the new IP address while a resolver still returns the old address. The dashboard reflects configured authoritative data. The resolver can retain a previously obtained answer during the remaining cache lifetime.
Consider a hypothetical A record with a TTL of 3,600 seconds. Resolver A fetches the answer at 12:00. Resolver B fetches the answer at 12:20. The operator changes the address at 12:30. Under ordinary cache reuse, the two resolvers have different remaining lifetimes.
The timeline does not predict every resolver's exact behavior. A resolver can discard cached data early, apply local policy, or fetch data through another resolver. Use the example to understand why a single change does not start one shared timer worldwide.
| Observation | Likely area to inspect | Useful evidence |
|---|---|---|
| Authoritative server returns old value | Zone publication | Direct authoritative query |
| Authority returns new value, resolver returns old value | Cache reuse | Resolver answer and remaining TTL |
| Different authoritative servers disagree | Zone synchronization | Answers from each delegated server |
| DNS returns new value, website looks old | Application or content delivery | HTTP response and application settings |
| New name returns a cached absence | Negative caching | Response code and SOA record |
Keep the queried name and type identical during comparisons. An A lookup and an AAAA lookup ask different questions. A working IPv4 answer does not establish that the IPv6 destination matches the migration plan.
Follow aliases too. A CNAME answer can lead to another name with a separate record set and cache lifetime. Record the complete answer chain before concluding that the first visible TTL controls the entire service path.
Avoid describing DNS as a global broadcast. Resolvers obtain answers when needed and can reuse cached answers. That operating model makes direct observations more useful than a fixed promise that every change completes within a familiar number of hours.
A planned migration lowers TTL before changing the destination

Begin with the current values rather than a preferred future value. Record the existing destination, authoritative TTL, relevant aliases, and nameserver delegation. Export the zone or save a precise change record before editing.
Suppose a hypothetical web record uses a 3,600-second TTL, and the operator wants a 300-second migration TTL. Publish 300 seconds while keeping the old address. Then allow the previous cache lifetime to pass before changing the address, subject to observed conditions and service requirements.
That preparation lets ordinary caches age out copies with the previous longer lifetime. Changing the TTL and address together leaves previously cached answers governed by the old value. The new five-minute setting cannot reach backward into those caches.
RFC 1034 recommends reducing TTL before an anticipated change. Treat the recommendation as a preparation technique, not a guarantee of a universal migration duration. The operator still needs a working old destination during the overlap.
Check the provider's actual TTL options. Cloudflare documents a fixed automatic TTL for proxied records. A setting available for one record mode may be unavailable for another. Read the provider documentation before planning a value the interface cannot publish.
Prepare the new service before the DNS change. Confirm the intended hostname, certificate, application routing, and required access policy at the new destination. A fast DNS change cannot repair an application that rejects the hostname.
Make the smallest approved change. Avoid changing the registrar, nameservers, DNS provider, and application destination together unless the migration requires the combined change. Separate steps create clearer evidence when a failure occurs.
Keep a rollback record with the previous values. A rollback changes authoritative data again, but cached new answers can remain until their own lifetimes expire. The rollback plan therefore needs an overlap strategy rather than an expectation of instant reversal.
After stable operation, choose a normal TTL that fits the service's change frequency and resilience needs. A permanently short TTL can increase the need for fresh lookups. The correct setting depends on the provider, architecture, and business requirements.
Negative answers and stale answers need separate explanations

A resolver can cache the absence of a name or record type. A new record can therefore exist at the authority while a client still receives a cached negative answer. Repeatedly editing the new record does not necessarily address that cached result.
RFC 2308 defines negative caching for NXDOMAIN and NODATA responses. NXDOMAIN indicates that the queried name does not exist. NODATA indicates that the name exists without the requested record type.
For an illustrative example, a verification service queries a TXT name before the operator creates the TXT record. The resolver caches the negative result. The operator then publishes the correct TXT value. The verification service can continue seeing the earlier absence until the relevant cached result expires.
Inspect the authority section of the negative response. RFC 2308 derives the negative caching TTL from the lesser of the SOA TTL and SOA MINIMUM. The TTL on a newly created TXT record does not retroactively control an earlier negative answer.
An old answer after TTL expiry can also have a different explanation. RFC 8767 permits serve-stale behavior when a recursive resolver cannot refresh expired information. That resilience mechanism creates an exception to the simple cache-expiry explanation.
Do not diagnose serve-stale from an old value alone. Check authoritative reachability, the resolver's documented behavior, and the actual response. An incorrect delegation or an outdated authoritative server can also return unexpected data.
Separate nameserver changes from ordinary address changes. A nameserver migration involves delegation data and the new authoritative service. Lowering one A-record TTL does not automatically lower every delegation-related lifetime.
Also separate DNS errors from application errors. SERVFAIL, NXDOMAIN, and an HTTP error page describe different observations. Preserve the exact response before deciding whether the next step concerns DNSSEC, record publication, connectivity, or application configuration.
A useful incident note states the queried name, type, resolver, timestamp, response code, returned records, and observed TTL. That record gives the next operator a concrete starting point. A statement that propagation failed supplies too little information.
Direct queries turn propagation reports into actionable checks

First, identify the delegated authoritative servers. Then query each authoritative server directly for the changed name and record type. A direct answer establishes what that server currently returns, which differs from what a public resolver has cached.
Use a DNS diagnostic tool that permits a specific server. For example, a command shaped as dig @AUTHORITATIVE_SERVER www.example.com A +norecurse asks the selected server without requesting recursion. Replace the uppercase placeholder with the verified authoritative server.
Compare the answer, response code, and authoritative flag. Inspect each delegated server rather than checking only one server. The primary and secondary DNS guide explains why authoritative copies can need separate inspection.
Next, query the resolver that the affected client actually uses. Save the returned value and TTL. The specific-server lookup guide provides another way to compare resolver answers.
Test a second representative resolver when the comparison helps isolate caching. A different answer proves a difference between those observations. A different answer does not prove that every user in a country sees the same result.
Check the affected device's network context. A browser, VPN, operating system, or enterprise network can select a different resolver path. Flushing one local cache cannot clear caches operated by every upstream resolver.
Use a short troubleshooting sequence:
- Confirm the exact changed name and record type.
- Compare every delegated authoritative server.
- Record the client's actual resolver answer.
- Inspect positive or negative cache timing.
- Check alias targets and IPv6 records where relevant.
- Verify the new application after DNS resolves correctly.
- Preserve the old service until the transition criteria pass.
- Restore the intended steady-state TTL after validation.
Set transition criteria before the migration. Criteria might include consistent authoritative answers, representative resolver results, and successful application checks. Use criteria appropriate to the service rather than declaring completion from elapsed time alone.
A sound propagation explanation identifies the layer that still holds old data. TTL planning helps control ordinary cache overlap. Direct authoritative and resolver checks show whether the remaining problem concerns caching, publication, delegation, or the service behind the domain.
These sources support the article
- IETF: RFC 1034. Section 3.6 explains TTL and preparation for changes. Fetched 2026-10-21.
- IETF: RFC 2308. Sections 3 and 5 explain negative caching. Fetched 2026-10-21.
- IETF: RFC 8767. Serve-stale behavior and the TTL exception. Fetched 2026-10-21.
- Cloudflare: Time to Live. Provider-specific TTL behavior for proxied records. Fetched 2026-10-21.
