Investigate gracefully exiting oplog cap maintainer thread on shutdown when truncation sees empty markers

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Replication
    • 200
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      This should be post-PuP but I don't know the label for it.

      SERVER-133844 fixes a segfault from BF-45804 where truncateByMarkerQueue is doing a truncate at the same time the oplog cap maintainer thread's shutdown path is clearing the truncate markers. 

      The fix was to do a null check on the markers and throw from truncateByMarkerQueue if they are null (better than the segfault).

      This ticket is to investigate if there is a more graceful way to exit and to implement the graceful way to exit, like maybe we could replace the opCtx->checkForInterrupt() with checkForInterruptNoAssert so we don't throw an exception at all. 

            Assignee:
            Unassigned
            Reporter:
            Erin Liang
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: