Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-31589

A primary's SyncSourceFeedback only renews an OperationContext on role changes.

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.2.18, 3.4.11, 3.6.0-rc2
    • Component/s: Replication
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Backport Completed:
    • Sprint:
      Repl 2017-10-23, Repl 2017-11-13

      Description

      My understanding of the code may be wrong here. The SyncSourceFeedback thread refreshes its OperationContext for each iteration of the outer loop. However, there is an inner while loop that, for primaries, only breaks out when its "position" has changed or if it is no longer a primary. This can cause the OperationContext to not release underlying cursors for indefinitely long periods of time and prevent WT from dropping underlying tables.

      https://github.com/mongodb/mongo/blob/649009527527d82711fa1e67e8af66e0d8d4239f/src/mongo/db/repl/sync_source_feedback.cpp#L164-L176

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: