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

Timeseries collection creation fails due to incompatible validator between 6.0 and subsequent versions

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 7.0.0-rc0
    • Affects Version/s: 6.1.0-rc0, 6.2.0-rc0
    • Component/s: None
    • None
    • Storage Execution
    • Fully Compatible
    • ALL
    • v6.3, v6.0
    • Execution Team 2023-02-20, Execution Team 2023-02-06, Execution Team 2023-03-06
    • 14

      The steps that leads to this issue are the following:

      1. Start timeseries collection creation on the replset primary node with binary 6.0
      2. Stepdown happens here after creating the bucket collection but before creating the associated view.
      3. A new primary of replicaset with binary 6.1 or later is elected
      4. Retry the same create collection

      The second create will fail with:

      NamespaceExists: Bucket Collection already exists
      

      And it will leave a bucket collection without the associated view.

      The reason is that the second create operation will not find the view but it will find the bucket collection, then it will try to see if collectionOptions of the existing bucket collection match the options from the second create operation and it will fail because the validator created in 6.0 is different from the one of later versions. In fact in SERVER-68129 we added the control.count field.

            Assignee:
            henrik.edin@mongodb.com Henrik Edin
            Reporter:
            tommaso.tocci@mongodb.com Tommaso Tocci
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: