Find should not be wrapped in a writeConflictRetry loop

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Query Optimization
    • ALL
    • 200
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      SERVER-112058 added a detector for misuses of the writeConflictRetry loop.

      It seems however, that in the rush to fix SERVER-94613 we introduced a couple of new misuses of the writeConflictRetry loop (1) and (2).

      In particular, a DBDirectClient call to a find will now incur the potential to make the original acquisition done earlier to become invalidated if it happens to be a lock-free read. This is the case with users of $where as they will load the system.js collection via a DBDirect call.

      Ideally we should remove this as soon as possible since it may inadvertedly affect more places than expected.

            Assignee:
            Matt Olma
            Reporter:
            Jordi Olivares Provencio
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: