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

Cursor is valid and returning data after dropping collection for sharded collections

    • Type: Icon: Task Task
    • Resolution: Works as Designed
    • Priority: Icon: Minor - P4 Minor - P4
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Optimization
    • 0

      In the existing design cursors remain alive even if the collection they refer to is dropped. Idle cursors are cleaned up periodically. This leads to a prospective corner case uncovered by BF-33889. The config fuzzer uncovered a case where despite dropping a collection, existing cursor over the collection may still return results, due to caching in the 'AsyncResultsMerger'.

      In this ticket:

      1. Reevaluate the consistency guarantees for data access after dropping collection.
      2. Examine the importance of the corner case that led to this problem. Specifically, 'internalQueryFindCommandBatchSize' parameter setting strategy and the possibility this setting leading to an incident.
      3. Design and implement a new strategy to set, use and restrict values for batch size values for both mongoS and mongoD.

            Assignee:
            matt.olma@mongodb.com Matt Olma
            Reporter:
            matt.olma@mongodb.com Matt Olma
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: