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

Support "read committed" isolation level where "committed" means confirmed by the voting majority of a replica set

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.1.7
    • Component/s: Querying, Replication
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Epic Link:
    • Sprint:
      Quint Iteration 3, Quint Iteration 4, Quint Iteration 5, Quint Iteration 6, Quint Iteration 7, QuInt 8 08/28/15

      Description

      Writes in MongoDB replica sets are "committed" when the majority of voting nodes in the replica set confirm the write (n.b., arbiters cannot confirm writes). This ticket is to add a feature to query-like operations (find, count, aggregate, etc) to restrict the data observed to data known to have been committed at the replica set level. It is an approximate but imperfect analog of "w: majority" writes.

      In MongoDB deployments using an MVCC storage engine, such as WiredTiger, this behavior could be implemented by having the replication subsystem retain the newest "known committed" version of data on each node, and have the query system serve "committed" reads from that version rather than the newest version.

        Issue Links

          Activity

          Hide
          schwerin Andy Schwerin added a comment -

          Mathias Stearn, I finally got around to creating a server ticket for this. Per prior conversation, we'll need to gracefully refuse to support this behavior in storage engines that don't offer the necessary underpinnings.

          Show
          schwerin Andy Schwerin added a comment - Mathias Stearn , I finally got around to creating a server ticket for this. Per prior conversation, we'll need to gracefully refuse to support this behavior in storage engines that don't offer the necessary underpinnings.
          Hide
          xgen-internal-githook Githook User added a comment -

          Author:

          {u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}

          Message: SERVER-18022 Read Majority Committed implementation for primary nodes
          Branch: master
          https://github.com/mongodb/mongo/commit/28be53c1c9721c4ef8a3046bb3546a1b63e759f6

          Show
          xgen-internal-githook Githook User added a comment - Author: {u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'} Message: SERVER-18022 Read Majority Committed implementation for primary nodes Branch: master https://github.com/mongodb/mongo/commit/28be53c1c9721c4ef8a3046bb3546a1b63e759f6
          Hide
          xgen-internal-githook Githook User added a comment -

          Author:

          {u'username': u'milkie', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'}

          Message: SERVER-18022 simplify waiting for first committed snapshot
          Branch: master
          https://github.com/mongodb/mongo/commit/8b2a3719c3708c97635ddface3f754db0f666f90

          Show
          xgen-internal-githook Githook User added a comment - Author: {u'username': u'milkie', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'} Message: SERVER-18022 simplify waiting for first committed snapshot Branch: master https://github.com/mongodb/mongo/commit/8b2a3719c3708c97635ddface3f754db0f666f90
          Hide
          xgen-internal-githook Githook User added a comment -

          Author:

          {u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}

          Message: SERVER-18022 Fix places relying on old $readMajorityTemporaryName
          Branch: master
          https://github.com/mongodb/mongo/commit/1eca10057d98aa46e9adf3b06edac74c437edfd3

          Show
          xgen-internal-githook Githook User added a comment - Author: {u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'} Message: SERVER-18022 Fix places relying on old $readMajorityTemporaryName Branch: master https://github.com/mongodb/mongo/commit/1eca10057d98aa46e9adf3b06edac74c437edfd3

            People

            • Votes:
              2 Vote for this issue
              Watchers:
              48 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                  Agile