Uploaded image for project: 'Compass '
  1. Compass
  2. COMPASS-7440

Investigate changes in SERVER-78877: Why do 'find' and 'aggregate' commands represent maxTimeMS differently?

    • Type: Icon: Investigation Investigation
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • No version
    • Affects Version/s: None
    • Component/s: None
    • None

      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.

            Assignee:
            Unassigned Unassigned
            Reporter:
            backlog-server-pm Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: