fix(adl): promote cached entries on hit so eviction is LRU not FIFO#151
fix(adl): promote cached entries on hit so eviction is LRU not FIFO#1516figpsolseeker wants to merge 1 commit intodcccrypto:mainfrom
Conversation
The /adl/:slab handler used an in-memory cache with capacity-based eviction via `adlCache.keys().next().value`, which deletes the oldest *insertion*. Cache hits did not reposition the entry, so a hot slab inserted early would be evicted before cold slabs inserted later. Each cache miss is expensive (Solana RPC `fetchSlab` plus full account parsing and ranking), so a hot key getting evicted under capacity pressure caused redundant RPC load and user-visible latency. Add the same promotion-on-hit pattern already used in `src/routes/oracle-router.ts` (delete + reinsert before returning the cached payload). The eviction logic at the bottom of the handler is unchanged — it now effectively evicts the least-recently-used entry because the Map's iteration order tracks recency. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 17 minutes and 1 seconds. ⌛ 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. ✨ Finishing Touches🧪 Generate unit tests (beta)
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
Test plan