Repository navigation
fix: increase ISR revalidation interval from 30s to 300s on content p… - #1825
Conversation
|
@dadiorchen , related to #1824 |
|
✅ Cypress integration tests passed in local dev server — pages render correctly |
|
(for src/pages/planters/[planterid].js, src/pages/trees/[treeid].js, There's a subtle JavaScript behavior in this line that's worth knowing about: revalidate: Number(process.env.NEXT_CACHE_REVALIDATION_OVERRIDE) || 300 In JavaScript, the number 0 is treated as "falsy" — the same as false or empty. So if someone sets This isn't a bug introduced by this PR — it's a pre-existing pattern across all these files. But |
|
🎉 This PR is included in version 2.9.10 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
|
new image deployed: 300 second cache max age in effect: memory usage baseline: disk stats baseline: |
|
deployed to prod on june 18, 2026. see slack for deployment logs. |
Description
Increases the default ISR revalidation interval from 30s to 300s across all
active content pages (planters, organizations, trees, captures, wallets, top).
NEXT_CACHE_REVALIDATION_OVERRIDEenv var is still respected and takesprecedence if set.
src/models/utils.jsis intentionally left at 30s — thatpath handles error recovery retries, where faster revalidation is appropriate.
These are low-churn content pages. A 30s revalidation cycle generates
continuous background regeneration work with no meaningful freshness benefit
to users. This follows the previous PR disabling the in-memory ISR cache in
favour of disk cache for Kubernetes compatibility. With that change in place,
each revalidation triggers a disk write cycle — reducing frequency by 10x
reduces that churn accordingly.
Pages will show data up to 5 minutes stale after an update vs 30 seconds
previously. For these content types this is acceptable.
As follow up to PR #1824
Related fix for issue Greenstand/treetracker-infrastructure#306
Related fix for issue Greenstand/treetracker-infrastructure#300
Type of change
Screenshots
N/A — no UI changes.
How Has This Been Tested?
Checklist: