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

Implement local isolation for fastcount for Biggie RecordStore

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Backlog
    • Component/s: None
    • Labels:
      None
    • Sprint:
      Execution Team 2020-06-29, Execution Team 2020-07-13

      Description

      Biggie implements fastcount similar to how it is implemented on WT. The fastcount get updated immediately on inserts and deletes before the write unit of work is committed. In case of a rollback it is adjusted back.

      However write conflicts on the biggie engine happens at commit time leading to the fastcount will be wrong until the commit where the write conflict is thrown.

      Running jstests/concurrency/fsm_workloads/upsert_unique_index.js over biggie triggers the following assert: https://github.com/mongodb/mongo/blob/e57156eff2a2ff5dbb1b6a75fee246241206453f/src/mongo/db/storage/biggie/biggie_record_store.cpp#L576

      The fastcount will go negative during the test above

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              backlog-server-execution Backlog - Execution Team
              Reporter:
              henrik.edin Henrik Edin
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated: