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

Implement local isolation for fastcount for Biggie RecordStore

    • Type: Icon: Task Task
    • Resolution: Gone away
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Execution
    • Execution Team 2020-06-29, Execution Team 2020-07-13

      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

            Assignee:
            backlog-server-execution [DO NOT USE] Backlog - Storage Execution Team
            Reporter:
            henrik.edin@mongodb.com Henrik Edin
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: