[SERVER-67514] SizeStorer load() can get stuck in page eviction Created: 24/Jun/22  Updated: 06/Dec/23  Resolved: 04/Jul/22

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Critical - P2
Reporter: Yuhong Zhang Assignee: Sulabh Mahajan
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Duplicate
duplicates SERVER-60334 Avoid caching the cursor and session ... Closed
Related
related to SERVER-61097 SizeStorer can cause deadlocks with c... Closed
related to SERVER-61116 Audit and add assertions against usin... Backlog
is related to SERVER-60334 Avoid caching the cursor and session ... Closed
Operating System: ALL
Backport Requested:
v6.0, v5.0, v4.4, v4.2
Sprint: Execution Team 2022-07-11
Participants:
Case:

 Description   

Currently the size storer uses its own separate wiredtiger session from the caller because the size storer's reads and writes are untimestamped and wiredtiger has the limit of not able to change the config of an existing transaction. As a result, when eviction could not find candidates to evict, we run into the deadlock with ourselves.

We might want to add timeout to the load function similar to flush, and then make the caller to retry to break out of the deadlock.



 Comments   
Comment by Sulabh Mahajan [ 04/Jul/22 ]

SERVER-60334 has already fixed this issue. We are working on backporting to the older releases.

Generated at Thu Feb 08 06:08:19 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.