[SERVER-36720] $geoNear tests in currentop_query.js can hang behind a ShardServerCatalogCacheLoader refresh Created: 17/Aug/18  Updated: 29/Oct/23  Resolved: 08/Sep/18

Status: Closed
Project: Core Server
Component/s: Testing Infrastructure
Affects Version/s: None
Fix Version/s: 4.1.3

Type: Improvement Priority: Major - P3
Reporter: Bernard Gorman Assignee: Bernard Gorman
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Backwards Compatibility: Fully Compatible
Sprint: Query 2018-08-27, Query 2018-09-24
Participants:
Linked BF Score: 12

 Description   

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.


 Comments   
Comment by Githook User [ 08/Sep/18 ]

Author:

{'name': 'Bernard Gorman', 'email': 'bernard.gorman@gmail.com', 'username': 'gormanb'}

Message: SERVER-36720 $geoNear tests in currentop_query.js can hang behind a sharding catalog refresh
Branch: master
https://github.com/mongodb/mongo/commit/4b3dabaf456f3660b9c3d2cf5667f83aaf9f0fb9

Generated at Thu Feb 08 04:43:54 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.