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

Get rid of fine grained scoped range deleter lock

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 6.1.1, 6.0.3, 6.2.0-rc0
    • Affects Version/s: 6.1.0, 6.0.2
    • Component/s: None
    • Labels:
      None
    • Fully Compatible
    • ALL
    • v6.1, v6.0
    • Sharding EMEA 2022-10-31, Sharding EMEA 2022-11-14

      Purpose of this ticket is to simplify the scoped range deleter lock in order to solve all in once the problems listed in SERVER-70322, SERVER-70340 and SERVER-70408.

      The idea is to get rid of the fine grained locking because it has provoked more race conditions than advantages and because using it does not result in relevant performance improvements.

      We could provide a simple global scoped range deleter lock to be taken in different modes depending on the context.

      • Initializing balancer stats registry: MODE_S
      • Initializing range deleter service: MODE_S
      • Updating the number of orphans: MODE_IX

      Only v6.1+ versions (to synchronize with range deleter service initialization)

      • Creating a new range deletion task document MODE_IX
      • Unsetting the pending field MODE_IX

      Only v6.0+ versions (to synchronize with upgrade/downgrade)

      • Setting the number of orphans on upgrade MODE_X
      • Unsetting the number of orphans on downgrade MODE_X

            Assignee:
            tommaso.tocci@mongodb.com Tommaso Tocci
            Reporter:
            pierlauro.sciarelli@mongodb.com Pierlauro Sciarelli
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: