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

[v4.4] Chunk migration still attempts to wait for replication with session checked out when getLastErrorDefaults are used in replica set config

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.4.23
    • Affects Version/s: 4.4.22
    • Component/s: None
    • None
    • Fully Compatible
    • ALL
    • Sharding EMEA 2023-06-26

      SERVER-73106 attempted to fix the problem of a chunk migration waiting for replication when persisting a range deletion document with a session checked out. The issue was believed to be due to WriteConcernOptions() being used rather than specifying w: 1.

      However, this is not quite the issue, and so the fix that was implemented has not actually addressed the problem. The problem with the usage in the migration destination manager is that it is using the persistent task store. The persistent task store sends its commands without any write concern at all and then waits for write concern at the end. This means that the write concern is treated as unset, allowing it to be overridden by getLastErrorDefaults.

      The true solution here will be to send commands from the persistent task store with w:1 specified and then wait for the passed in write concern at the end. This will ensure that even in the presence of getLastErrorDefaults, the operation from the persistent task store honors the passed in write concern.

            allison.easton@mongodb.com Allison Easton
            allison.easton@mongodb.com Allison Easton
            0 Vote for this issue
            3 Start watching this issue