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

Implement local isolation for fastcount for Biggie RecordStore

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Gone away
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • None
    • Storage Execution
    • 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

        Activity

          People

            backlog-server-execution Backlog - Storage Execution Team
            henrik.edin@mongodb.com Henrik Edin
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: