-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: Cache and Eviction
-
None
-
Storage Engines, Storage Engines - Transactions
-
0.005
-
SE Transactions - 2026-11-20
-
None
I found that a carried-over eviction walk target of 1 makes pages_queued < target_pages / 2 always false, so a walk that queues nothing halves its walk period instead of increasing it and can eventually run on every handle-list round.
I reproduced this on develop cbfc07e3df: with 400 small tables, 23–27 stuck trees took 70–73% of walk passes; rounding the threshold up with (target_pages + 1) / 2 removed those stuck trees, although an eviction-throughput improvement has not been demonstrated.
Fix the backoff calculation and add regression coverage for a one-page remaining target with zero candidates, while preserving the existing behavior when the target is met.