fix(cache): evict stale entry on SWR revalidation failure#9
Conversation
When SWR background revalidation throws or returns an invalid result (fails `validate`), the stale cache entry is now removed from storage. Previously, stale entries persisted indefinitely in these cases. Fixes: nitrojs/nitro#3110, nitrojs/nitro#1992
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
Addresses upstream Nitro issues:
Changes
src/cache.ts: Added_evictFromStoragehelper. Called in two places in_resolve:catchblock — when resolver throws, evict stale entryvalidate(entry) === false— when new value is invalid, evict stale entrytest/index.test.ts: Two regression tests confirming stale entries are evicted from storage after failed SWR revalidation.Test plan