|
checkAuthForCreateOrModifyView calls aggregation_request_helper::parseFromBSON without a serialization context, which can cause us failure in passing the serialization flags from the original request to the aggregation request. checkAuthForCreateOrModifyView is accessed via a regular db command and as a sharded command, the latter of which is out of scope.
checkAuthForCreateOrModifyView
|
checkAuthForCreate
|
CmdCreate::Invocation::doCheckAuthorization
|
CreateCmd::Invocation::doCheckAuthorization <-- sharded
|
checkAuthForCollMod
|
ShardsvrCollModCommand::checkAuthForOperation <-- sharded
|
CollectionModCmd::checkAuthForOperation <-- sharded
|
Where we have access to the original request, we should use the serialization context from that. Otherwise, we can pass in a default serialization context for sharded calls.
|