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

Improve misleading error messages for aggregation stages banned in transactions

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.0.2, 4.1.1
    • Component/s: Querying, Replication
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Backport Requested:
      v4.0
    • Sprint:
      Repl 2018-06-18, Repl 2018-07-02

      Description

      The error messages vary for the aggregation stages not allowed in transactions, as tested in read_concern_snapshot_aggregation.js. Since the readConcern level is upconverted to "snapshot" for transactions, and some of these stages only work with particular readConcern levels, they may error due to the readConcern, which could cause a user to think that the transaction would succeed if they specify a different readConcern level. It would be more helpful to provide an error message that the stage is banned in transactions.

      Examples:

      "errmsg" : "Aggregation stage $listLocalSessions requires read concern local but
      found { readConcern: { level: \"snapshot\" } }",
       
      "errmsg" : "$out can not be used with either a 'majority' or 'snapshot' read
      concern level",
      

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              samy.lanka Samyukta Lanka
              Reporter:
              tess.avitabile Tess Avitabile
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: