I don't think this is really part of your change, but why is `txn->force_evict_attempts` a transaction counter and not a per-page counter?   That is, just because a transaction has failed to push page X, why is it prevented from pushing page Y?