|
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.
|