Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-36720

$geoNear tests in currentop_query.js can hang behind a ShardServerCatalogCacheLoader refresh

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.1.3
    • 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.

            Assignee:
            bernard.gorman@mongodb.com Bernard Gorman
            Reporter:
            bernard.gorman@mongodb.com Bernard Gorman
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: