Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-81877

ShardRemote::_scheduleCommand can update RPC timeout to use OpCtx timeout but doesn't update error code

    • Cluster Scalability
    • 3

      ShardRemote::_scheduleCommand will update the timeout of the RemoteCommandRequest for RPCs it manages based on the remaining time left for the OperationContext the command is associated with see here

      However, it doesn't update the timeout code that the RemoteCommandRequest uses by default see here to indicate timeout errors. As a result, if this timeout is hit, the networking layer will throw NetworkInterfaceExceededTimeLimit (the default RCR/networking timeout error), instead of maxTimeMSExpired, even if the timeout came from the maxTimeMS associated with the opCtx.

      The function should either conditionally also update the timeoutCode for the RCR or rewrite any errors manually.

            Assignee:
            backlog-server-cluster-scalability [DO NOT USE] Backlog - Cluster Scalability
            Reporter:
            george.wangensteen@mongodb.com George Wangensteen
            Votes:
            0 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated: