-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Unknown
-
None
-
Affects Version/s: None
-
Component/s: None
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 optiondelivered by NODE-5886- 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
- N/A
Follow Up Requirements
- N/A