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

Fsync test is not correctly checking for concurrent ddl operations

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 7.1.0-rc0, 7.0.2, 6.0.11
    • Affects Version/s: None
    • Component/s: Sharding
    • Labels:
    • Fully Compatible
    • ALL
    • v7.0, v6.0
    • Sharding EMEA 2023-09-04
    • 154

      SERVER-78154 added code in the fsync command to detect and fail in the presence of concurrent DDL operations. The way it is currently working is by querying the config.system.sharding_ddl_coordinators collection and checking for documents present there, however, the test is not sharding the collection that will be refined, and considering SERVER-76486 will change refine collection shard key flow, the following scenario becomes possible:

      1. A refineCollectionShardKey command is sent The service is created, but because of SERVER-76486 the check of the collection (it must be sharded in order to continue) is done before the first store in disk.
      2. The refineCollectionShardKey fails but then stops in the failpoint
      3. The fsync command runs, checks for the coordinator document, but doesn't find anything because the DDL haven't registered the coordinator document yet

      This scenario goes against the initial intention of the test, so we should shard the collection at the beginning of the test.

            marcos.grillo@mongodb.com Marcos José Grillo Ramirez
            marcos.grillo@mongodb.com Marcos José Grillo Ramirez
            0 Vote for this issue
            4 Start watching this issue