Uploaded image for project: 'Node.js Driver'
  1. Node.js Driver
  2. NODE-5275

Remove write concern related deprecations and split uri and constructor option specification

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Unknown Unknown
    • None
    • Affects Version/s: None
    • Component/s: None
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?

      Use Case

      As a... user of the driver
      I want... a clean WriteConcern interface
      So that... it's clear how I should specify the write concern

      User Impact

      • Breakages:
        • Anyone specifying fsync, j, or wtimeout in the URI string
        • Anyone currently ignoring TS errors and specifying fsync, j, or wtimeout in the MongoClient constructor options
        • Anyone currently specifying w, journal, or wtimeoutMS as a top level MongoClient constructor option
        • Anyone trying to access fsync, j, or wtimeout on the WriteConcern class
        • Anyone trying to pass fsync, j, or wtimeout to the WriteConcern.fromOptions method

      Dependencies

      • Breaks shell users

      Unknowns

      • N/A

      Acceptance Criteria

      Implementation Requirements

      • Replace fsync, j, and wtimeout in the WriteConcernSettings class
      • Remove WRITE_CONCERN_KEYS
      • Convert fsync, j, and wtimeout to internal-marked getters in the WriteConcern class
      • Remove fsync from the WriteConcern constructor
      • Update the WriteConcern.apply method to remove handling for fsync, j, and wtimeout as input
      • Update the WriteConcern.fromOptions method to remove handling for fsync, j, and wtimeout as input
      • Update the gridfs implementation to not use the unsupported WriteConcern options

      Testing Requirements

      • Update existing tests that use the removed options to use the new options as applicable
      • Add unit tests for the internal legacy getters to ensure shell compat

      Documentation Requirements

      • Communicate changes to the docs team, including the new sources of truth for URI vs constructor supported options AND make sure the precedence of constructor options over URI options is clearly called out

      Follow Up Requirements

      • N/A

            Assignee:
            Unassigned Unassigned
            Reporter:
            daria.pardue@mongodb.com Daria Pardue
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: