-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Aggregation Framework, Sharding
-
Fully Compatible
-
ALL
-
-
Query 2019-12-30, Query 2020-01-13, Query 2020-01-27, Query 2020-02-10
-
49
In SERVER-29794, we added comment support to many commands, including getMore. When a user runs an aggregate command with a comment, this comment will be added to any getMore commands that the system has to run between nodes in sharded cluster in order to answer the query. This includes both mongos running a getMore against a cursor on a shard, and a shard running a getMore against a cursor on another shard. The latter can happen if a shardsvr node is chosen to execute the merging part of the pipeline.
Suppose an agg command is sent to a cluster with both 4.4 and 4.2 shards during the 4.2 <=> 4.4 upgrade/downgrade. If a 4.4 node needs to send a getMore to a 4.2 node during execution of the query, it will append the comment. However, the changes for SERVER-29794 are not present in the 4.2 branch, and they are not planned for backport. Consequently, the 4.2 node will throw a parsing error, complaining that the comment parameter to the getMore command is unrecognized.
In order to fix this, we need to make sure that a 4.4 mongod does not append the comment to any getMore commands until the upgrade to 4.4 is complete and the featureCompatibilityVersion is fully upgraded to "4.4". Since the shards must be upgraded before mongos, no changes are necessary to the logic that dispatches getMores from mongos to the shards.
- depends on
-
SERVER-45762 Take collection lock before calling CollectionShardingRuntime::setFilteringMetadata in range_deletion_util_test.cpp
- Closed
- is related to
-
SERVER-29794 Adding a comment to all commands
- Closed
- related to
-
SERVER-45579 Remove FCV check guarding addition of "comment" field to remote command requests
- Closed