[SERVER-45496] Log operations that do not yield Created: 10/Jan/20  Updated: 08/Jun/21  Resolved: 29/Jan/20

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

Type: Improvement Priority: Major - P3
Reporter: Kevin Arhelger Assignee: Eric Milkie
Resolution: Won't Do Votes: 4
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by SERVER-53180 Log each operation that holds a lock ... Closed
Related
Sprint: Execution Team 2020-02-10
Participants:
Case:

 Description   

Some operations do not yield as expected (SERVER-32156) which can make diagnosing what may be happening difficult, especially if the server was restarted to clear the operation preventing the slow operation from being logged. 

Automatically logging in-progress operations that have not yielded in a specified time limit would greatly improve diagnosability.



 Comments   
Comment by Eric Milkie [ 29/Jan/20 ]

While this is a nice idea, in practice it's actually very difficult to do something based on something NOT happening in a certain period of time. You need a way to detect that something hasn't happened outside the context of the current thread, and once you start doing that, there are synchronization issues that may affect performance.
In general we are moving away from the current locking system, which will make lock yielding moot anyway.

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