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

ChunkVersion::IGNORED should ignore the critical section

    • Type: Icon: Bug Bug
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 4.2.16, 5.0.3, 4.4.9
    • Component/s: None
    • None
    • ALL
    • Sharding EMEA 2021-10-18
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      The special value ChunkVersion::IGNORED isĀ used to indicate that an operation is coming from a router (as opposed to direct connection to a shard), but that the shard must not perform version checking, under the assumption that the caller knows what they are doing.

      One special case is the UNKNOWN version, in which case we do want IGNORED to trigger StaleConfig in order for the writes to contain the shard key (see SERVER-44598).

      This ticket is to skip the critical section check if the caller is using the IGNORED version.

      NOTE: This fix only applies to versions 5.0 and earlier, because we do not provide any guarantees with respect to writes to orphan documents. Starting with version 5.1 we will provide such guarantees in which case the critical section must be obeyed so that a multi-write can see which documents are orphaned.

            Assignee:
            kaloian.manassiev@mongodb.com Kaloian Manassiev
            Reporter:
            kaloian.manassiev@mongodb.com Kaloian Manassiev
            Votes:
            2 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: