Uploaded image for project: 'Drivers'
  1. Drivers
  2. DRIVERS-815

Snapshot reads on Secondaries

    XMLWordPrintableJSON

Details

    • Epic
    • Status: Closed
    • Blocker - P1
    • Resolution: Done
    • None
    • None
    • Needed
    • Hide

      Specific changes and impacts documented on the downstream Docs ticket

      Show
      Specific changes and impacts documented on the downstream Docs ticket
    • Hide

      NA

      Show
      NA
    • 100
    • Hide

      Summary: Earlier this year the server added support for a readConcern level “snapshot” on read operations outside of multi-document transactions for both primaries and secondaries. This project covers any work that needs to be done across MongoDB drivers to ensure completeness of this feature for our users.

      Author: Boris Dogadov

      2021-08-25

      • C, .NET, Go, Java, Python, Node, Rust, PHP implementations are done
      • CXX, Ruby has prioritized this for Q3

      2021-08-10

      • C, .NET, Go, Java, Python, Node, Rust implementations are done
      • PHP in progress
      • CXX has prioritized this for Q3

      2021-07-27

      • C, .NET, Go, Java, Python, Node, Rust implementations are done
      • CXX and PHP have prioritized this for Q3

      2021-07-12:

      • Java, Python implementations done
      • C, C# wrapping up (main implementation done)
      • Go, Rust in code review
      • Node in progress

      2021-06-28:

      • Major spec changes in. Two more small spec change tickets were created last week and Shane will be working on them since Boris is OOO
      • C, C# implementation in review. Java, Python in progress. This is next up for Go

      2021-06-15:

      • Re-implemented tests using the Sessions API proposal. Once that is complete will write up the specification itself. Expected to be in review in the next few days
      • Go and C implementations up next

      Show
      Summary: Earlier this year the server added support for a readConcern level “snapshot” on read operations outside of multi-document transactions for both primaries and secondaries. This project covers any work that needs to be done across MongoDB drivers to ensure completeness of this feature for our users. Author: Boris Dogadov 2021-08-25 C, .NET, Go, Java, Python, Node, Rust, PHP implementations are done CXX, Ruby has prioritized this for Q3 2021-08-10 C, .NET, Go, Java, Python, Node, Rust implementations are done PHP in progress CXX has prioritized this for Q3 2021-07-27 C, .NET, Go, Java, Python, Node, Rust implementations are done CXX and PHP have prioritized this for Q3 2021-07-12: Java, Python implementations done C, C# wrapping up (main implementation done) Go, Rust in code review Node in progress 2021-06-28: Major spec changes in. Two more small spec change tickets were created last week and Shane will be working on them since Boris is OOO C, C# implementation in review. Java, Python in progress. This is next up for Go 2021-06-15: Re-implemented tests using the Sessions API proposal. Once that is complete will write up the specification itself. Expected to be in review in the next few days Go and C implementations up next

    Description

      Downstream Change Summary

      Scope Document

      Description of Linked Ticket

      Epic Summary

      Summary

      Support readConcern level "snapshot" (non-speculative) for read commands outside of transactions, including on secondaries.

      Motivation

      Once durable history is implemented in WiredTiger, MongoDB will be able to support long-running snapshot reads. By supporting snapshot reads on secondaries, this feature can be used for analytics queries. It's important to use non-speculative behavior so that queries do not need to consume all results and wait for a transaction to commit in order to know that the data read was majority committed.

      Documentation

      Scope Document
      Technical Design Document


      SPEC Ticket Description
      // This block of HTML and the script in it auto-populate the SPEC ticket description on page load. Script Target - If you can read this text, the script has failed

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              backlog-server-pm Backlog - Core Eng Program Management Team
              Votes:
              1 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: