[COMPASS-7440] Investigate changes in SERVER-78877: Why do 'find' and 'aggregate' commands represent maxTimeMS differently? Created: 10/Nov/23  Updated: 14/Nov/23

Status: Needs Triage
Project: Compass
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Investigation Priority: Major - P3
Reporter: Backlog - Core Eng Program Management Team Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-78877 Why do 'find' and 'aggregate' command... Closed
Epic Link: COMPASS-7048

 Description   
Original Downstream Change Summary

This change widens the acceptable values of maxTimeMS for find and count (previously [0, INT_MAX], now [0, LLONG_MAX]).

This is backwards compatible; all previously accepted values remain valid.

It is unlikely that any caller depended on an error when providing maxTimeMS greater than INT_MAX, but this is technically an externally visible change.

If other components wish to allow the full range of maxTimeMS to be used, changes to datatypes/validation may be required.

Description of Linked Ticket

Currently FindCommandRequest and AggregateCommandRequest represent maxTimeMS differently:

Not only is the C++ type different, but also the BSON type and the parsing/validation rules are different. For simplicity, can we make them the same? Especially since we translate 'find' requests to 'aggregate' (for views), you would think they have the same set of valid values.

Looks like the last ticket to touch this was SERVER-54925, so there may be more discussion or explanation there.



 Comments   
Comment by PM Bot [ 10/Nov/23 ]

Fix Version updated for upstream SERVER-78877:
7.3.0-rc0

Generated at Wed Feb 07 22:46:33 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.