-
Type:
Improvement
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: Testing Infrastructure
-
None
-
Fully Compatible
-
Query 2018-08-27, Query 2018-09-24
-
12
The $geoNear tests in currentop_query.js can fail due to the following:
- curentop_query.js always sets internalQueryExecYieldIterations: 1 so that the PlanExecutor will yield on every iteration.
- The test enables the setYieldAllLocksHang failpoint and runs a $geoNear aggregation.
- If the shard is stale, this will cause the ShardServerCatalogCacheLoader to query config.cache.collections for metadata, and the query yields.
- The ShardServerCatalogCacheLoader is now stuck until the setYieldAllLocksHang is released, and the $geoNear operation is blocked behind it.
- The system remains stuck in this state until the assert.soon on the $geoNear aggregation times out.