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

Tailable cursors can miss writes on unreplicated capped collections

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 6.3.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • ALL
    • Execution Team 2022-07-11, Execution Team 2022-07-25, Execution Team 2022-08-08, Execution Team 2022-08-22, Execution Team 2022-09-05, Execution Team 2022-09-19, Execution Team 2022-10-03, Execution Team 2022-10-17, Execution Team 2022-10-31, Execution Team 2022-11-14, Execution Team 2022-12-12, Execution Team 2022-11-28, Execution Team 2022-12-26, Execution Team 2023-01-09

      Unreplicated capped collections do not serialize writes (see SERVER-21646), which means that tailable cursors can miss writes that commit in a different order than they were inserted.

      This problem has essentially existed since we implemented document-level locking in 3.0.

      Instead of also serializing writes to capped local collections, which would affect performance of inserts into the system.profile collection, I propose that we ban the usage of tailable cursors on unreplicated capped collections since they never worked correctly anyways.

            Assignee:
            louis.williams@mongodb.com Louis Williams
            Reporter:
            louis.williams@mongodb.com Louis Williams
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: