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

Create concurrency test that accesses a collection in a transaction after catalog changes

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.1.13
    • Component/s: Replication
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Sprint:
      Repl 2019-05-20, Repl 2019-06-03
    • Linked BF Score:
      50

      Description

      Transactions with local readConcern perform untimestamped reads and do not check the min visible snapshot for collections, so they can access collections whose catalog information does not match the state of the collection in the transaction's snapshot. We will write a concurrency test to exercise this behavior and ensure it cannot cause crashes.

      Transaction thread: This thread must perform transactions using local readConcern. It starts the transaction with an operation on a collection startcoll. Then it performs operations on a collection ddlcoll, which may have had catalog changes since the transaction's snapshot was opened. These operations must include all operations that are supported in transactions (except killCursors, which does not touch data) and must make use of indexes:

      • find (collection scan)
      • find (index scan on _id)
      • find (index scan on secondary index)
      • aggregate
      • delete
      • distinct
      • findAndModify
      • geoSearch
      • getMore
      • insert
      • update

      DDL thread: This thread must perform the following operations on ddlcoll:

      • Create
      • Drop
      • Rename
      • Create secondary index

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              tess.avitabile Tess Avitabile
              Reporter:
              tess.avitabile Tess Avitabile
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: