[SERVER-48866] Parse Versioned API parameters Created: 15/Jun/20  Updated: 29/Oct/23  Resolved: 15/Jul/20

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: 4.7.0

Type: Task Priority: Major - P3
Reporter: A. Jesse Jiryu Davis Assignee: Pridhvi Vegesna (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-48864 New error codes for Versioned API Closed
is depended on by SERVER-48877 Create an APIParameters class Closed
is depended on by SERVER-49065 Mark API Version 1 commands Closed
Duplicate
is duplicated by SERVER-48870 API parameter checking Closed
Backwards Compatibility: Fully Compatible
Sprint: Repl 2020-07-13, Repl 2020-07-27
Participants:

 Description   

Create a class APIParametersFromClient that parses the three API parameters. All parameters are "optional". Imitate OperationSessionInfoFromClient in logical_session_id.idl.

Create a function initializeAPIParameters in a new file initialize_api_parameters.cpp; imitate initialize_operation_session_info.cpp. The new function checks the following rule (from the "Command Syntax" section in the scope doc): If the client passed apiStrict and/or apiDeprecationErrors but not apiVersion, reply with InvalidOptions.

In execCommandDatabase in service_entry_point_common.cpp (mongod) and runCommand in strategy.cpp (mongos), create an APIParametersFromClient instance with initializeAPIParameters.

Write a JSTest to check that the rules are enforced on mongod and mongos.

(More rules will be enforced in a later ticket.)



 Comments   
Comment by Githook User [ 15/Jul/20 ]

Author:

{'name': 'PV99', 'email': 'pridhvi.vegesna@mongodb.com', 'username': 'PV99'}

Message: SERVER-48866 Parse Versioned API parameters
Branch: master
https://github.com/mongodb/mongo/commit/66aba27804f8b363b5165ae01e34c7a5155c6863

Generated at Thu Feb 08 05:18:16 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.