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

Check number of arguments for createIndex() and throw error if more than two arguments

    XMLWordPrintable

    Details

    • Backwards Compatibility:
      Minor Change
    • Backport Requested:
      v4.4, v4.2, v4.0, v3.6
    • Sprint:
      Query 2020-08-24, Query 2020-09-07
    • Case:

      Description

      If a third argument is passed to the ensureIndex() with valid options, then the behavior is to ignore the third argument instead of an error. So for example, if I execute the following

      db.myColl.ensureIndex( { my_date: 1}, {expireAfterSeconds: 2678400},{background: true, sparse: true } ) 
      

      the third argument which is critical to the purpose of this index build is completely ignored and the index is built in the foreground with no sparse option. This can lead to catastrophic events if myColl is very large and foreground index was not a choice. Can this be fixed so a user is not punished for accidentally passing the critical options as a third argument in the index build? The version we tried this is 3.2.9

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              nikita.lapkov Nikita Lapkov
              Reporter:
              manan@indeed.com Manan Shah
              Participants:
              Votes:
              5 Vote for this issue
              Watchers:
              12 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: