-
Type: Bug
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Networking & Observability
-
ALL
When a message is sent from an executor where ClientMetadataPropagationEgressHook already configured to shards via AsyncRPC with
sendAuthenticatedCommandToShards , the error "is a duplicate field" is thrown.
sendAuthenticatedCommandToShards sets Audit Meta and MayBypassWriteBlocking here, but these fields are set also in ClientMetadataPropagationEgressHook.
In this case the result message BSON is generated with duplicated $audit or MayBypassWriteBlocking fields. For example:
{"t":{"$date":"2024-10-31T15:05:29.053+00:00"},"s":"D2", "c":"COMMAND", "id":21965, "svc":"S", "ctx":"conn32","msg":"About to run the command","attr":{"db":"admin","client":"10.122.2.173:46010","commandArgs":{"listDatabases":1,"nameOnly":false,"clientOperationKey":{"$uuid":"2799b594-720a-4a14-bd06-efcd9ad9aaf3"},"mayBypassWriteBlocking":false,"lsid":{"id":{"$uuid":"693280ad-8d63-4b5d-be0c-b1748a5f6dc0"},"uid":{"$binary":{"base64":"47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=","subType":"0"}}},"$clusterTime":{"clusterTime":{"$timestamp":{"t":1730387128,"i":79}}},"$configTime":{"$timestamp":{"t":1730387128,"i":79}},"$topologyTime":{"$timestamp":{"t":1730387128,"i":17}},"$client":{"application":{"name":"MongoDB Shell"},"driver":{"name":"MongoDB Internal Client","version":"8.1.0-alpha-4629-gea54a8c"},"os":{"type":"Linux","name":"Ubuntu","architecture":"aarch64","version":"22.04"},"mongos":{"host":"ip-10-122-2-173:20044","client":"127.0.0.1:51002","version":"8.1.0-alpha-4629-gea54a8c"}},"mayBypassWriteBlocking":false,"$db":"admin"}}}
In this case the receiver throws an exception like
"errmsg" : "Database db could not be created :: caused by :: BSON field 'listDatabases.mayBypassWriteBlocking' is a duplicate field",
- related to
-
SERVER-89651 Make selectLeastLoadedNonDrainingShard query shards data size in parallel
- Closed