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

CreateCollection coordinator forgets timeseries options on failover

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Catalog and Routing
    • Fully Compatible
    • ALL
    • CAR Team 2024-02-19, CAR Team 2024-03-04, CAR Team 2024-03-18
    • 8

      The create collection coordinator must store the timeseries options in the shading catalog collection entry. These options could be either passed directly from the driver or if the collection already exists should be inherited from the local catalog.

      While translating the request parameters, the coordinator calculates the target timeseries options by fetching existsing ones from the local catalog. The problem is that the calculated timeseries options are being stored in the in-memory representation of the original request, but not persisted in the coordinator doc.

      Later on, in the commit phase, the coordinator fetches back the timeseries options from the in-memory representation of the original request.

      This means that if a stepdown happens after calculating the target timeseries options but before the commit phase consume them. It could be that the calculated options get lost and we will simply use the original options coming from the request.

      One possible solution would be to store the target timeseries options in the TranslatedRequestParams and ensure we persist them on disk before entering the commit phase.

            Assignee:
            silvia.surroca@mongodb.com Silvia Surroca
            Reporter:
            tommaso.tocci@mongodb.com Tommaso Tocci
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: