WiredTiger avoids the session that is performing the reconciliation for any eviction-related activities as part of the page read mechanism except when the page is possible for the in-memory split.
The eviction performing an in-memory split can fail due to not getting an exclusive lock on the page as other threads use it in parallel. In this situation, that session trying to force eviction of the history store page can retry for a longer time by stalling the reconciliation process. This led to a longer reconciliation of a single page as part of the eviction.
The longer the eviction holds the page, all the operations that are waiting for the same page can get blocked and the performance of those operations can affect.
To fix this problem,
- Try to reproduce the problem with a WT test case.
- Verify the test after fixing the problem by not to retry if the session is set for reconciliation.