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

Add a flag to the lock-free collection helpers to optionally take the RSTL intent lock

    • Type: Icon: Task Task
    • Resolution: Won't Do
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Execution Team 2021-11-01, Execution Team 2022-02-21

      I think this would be good temporary measure to smooth out transitioning to lock-free helpers, and away from falling back on db+coll locks. 

      User read operations would want to avoid stalling, and being stalled by, replication state change. However, internal operations and reads done as part of greater commands may not be in a good position yet to eliminate dependencies on repl state change interrupts. Removing the RSTL lock from such operations cause them to behave unexpectedly because normally they would either hold repl state change back until finished or would wait until repl state change finished, ensuring that their interrupt flag has been set by the time lock acquisition finishes, and lock acquisition throws on opCtx interrupts.

      I think the system as a whole should move away from depending on RSTL locks for becoming aware of stepdown, but we do not currently have such a system, yet.

            Assignee:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Reporter:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: