[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: |
|
||||||||||||
| Sprint: | Execution Team 2020-02-10 | ||||||||||||
| Participants: | |||||||||||||
| Case: | (copied to CRM) | ||||||||||||
| 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. |