Details
-
Improvement
-
Resolution: Fixed
-
Major - P3
-
None
-
None
-
Fully Compatible
-
Execution Team 2022-07-25, Execution Team 2022-08-08, Execution Team 2022-08-22, Execution Team 2022-09-05
Description
The following commands are user-facing but specify {strict: false} for how they parse their input. This means if the operator misspells an argument to the commands or includes a non-existing one, they won't always get an error. Changing these commands to be {strict: true} would protect against this but should be weighed against driver's and/or server's ability to send these commands internally without needing to know which version of the server they are talking with.
- replSetResizeOplog in src/mongo/db/commands/resize_oplog.idl
- setIndexCommitQuorum in src/mongo/db/commands/set_index_commit_quorum.idl
import pathlib |
import yaml |
|
|
def check_file(pathname): |
with open(pathname) as data: |
blob = yaml.safe_load(data) |
for (command, command_details) in blob.get("commands", {}).items(): |
if not command_details.get("strict", True): |
yield command_details["command_name"] |
|
|
for pathname in pathlib.Path().rglob("src/mongo/**/*.idl"): |
if str(pathname) == "src/mongo/idl/unittest.idl": |
continue |
for command in check_file(pathname): |
if not command.startswith("_"): |
print(f"{command} in {pathname}") |
Attachments
Issue Links
- is depended on by
-
COMPASS-6045 Investigate changes in SERVER-65030: Consider making external user facing commands replSetResizeOplog and setIndexCommitQuorum error when given unrecognized options
-
- Closed
-
-
TOOLS-3182 Investigate changes in SERVER-65030: Consider making external user facing commands replSetResizeOplog and setIndexCommitQuorum error when given unrecognized options
-
- Closed
-
- is documented by
-
DOCS-15558 Investigate changes in SERVER-65030: Consider making external user facing commands replSetResizeOplog and setIndexCommitQuorum error when given unrecognized options
-
- Closed
-