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

Enable lock-free reads with multi-document transactions

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 5.2 Required
    • Component/s: None
    • Labels:
      None

      Description

      In theory, this should not be too difficult, but would take some work.

      Multi-document transactions save the RecoveryUnit (and thus snapshot) and locks held (LockerImpl) across operations/commands. Lock-free reads store the CollectionCatalog on the opCtx, so any new collections accessed can be from the same point-in-time view of the catalog: we would need to save this for the multi-doc transaction like the RecoveryUnit and LockerImpl is saved today.

      The part I'm unfamiliar with is how storage snapshots are handled in multi-document transactions, whether they can ever be reset. If snapshot resets happen, then that would make it a little trickier to handle a stored CollectionCatalog – the CollectionCatalog would need refreshing, too, to maintain the same catalog view in-memory and on-disk.

        Attachments

          Activity

            People

            Assignee:
            dianna.hohensee Dianna Hohensee
            Reporter:
            dianna.hohensee Dianna Hohensee
            Participants:
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Dates

              Created:
              Updated: