email@example.com found out while investigating
WT-8707 that when a page is a candidate for forced eviction because it can be split in-memory, we fail to mark it to be evicted on release.
__evict_force_check returns true if a page needs to be force evicted, false otherwise. When returning true, it also sets the page's read_gen to WT_READGEN_OLDEST to mark the page to be forcibly evicted. If a page is a candidate for an in-memory split, it is considered for forced eviction. But, __evict_force_check ends up not marking the page to be evicted soon (i.e. read gen to the oldest) and hence the page doesn't get a chance to be evicted when it gets released.
Sid says fixing __evict_force_check helps with the regression that motivated
Mark the page to be evicted soon in __evict_force_check when an in-memory split can succeed.
WT and MongoDB performance tests (independent of impact due to changes from