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

ShardRole API should always install a Range Preserver

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.2.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Catalog and Routing
    • Fully Compatible
    • CAR Team 2025-02-17, CAR Team 2025-03-03, CAR Team 2025-03-17

      The Range Preserver object is installed behind an Ownership Filter attribute located on the collection acquisition. Since the Ownsership Filter is only instantiated when the targeted collection is sharded, the Range Preserver is not being installed for unsharded collections.

      This can potentially lead to returing incomplete results when a query starts while the collection is unsharded, but, right after, the collection becomes sharded and a chunk is moved to a different shard.

       

      To avoid similar bugs in the future, we should ensure all the queries have a Range Preserver assigned to them, even when the collection is unsharded.

      To ensure all the queries have a RangePreserver, we’ll instantiate and return an Ownership Filter from the CSR whenever the read concern isn’t ‘snapshot’ or ‘available’.

            Assignee:
            silvia.surroca@mongodb.com Silvia Surroca
            Reporter:
            silvia.surroca@mongodb.com Silvia Surroca
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: