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

refine_shardkey_config_cache_refresh.js can fail due to concurrent CatalogCache refresh

    XMLWordPrintableJSON

Details

    • Sharding EMEA
    • Fully Compatible
    • Sharding EMEA 2023-09-18
    • 20
    • 1

    Description

      refine_shardkey_config_cache_refresh.js manually modifies the ShardServerCatalogCacheLoader internal collections. In particular, here it removes all persisted cached chunks. This leaves the ShardServerCatalogCacheLoader in an invalid state, during which if a refresh is requested it can trip tasserts such as this one.
      With the commit of SERVER-76486, which introduces an asynchronous fire-and-forget refresh at the end or refineCollectionShardkey, now it can happen that a refresh is requested while the test has left the ShardServerCatalogCacheLoader in an invalid state.

      We should either modify the test to somehow ensure the refresh does not happen during the invalid period, or remove this test and replace it with a unit test on shard_server_catalog_cache_loader_test.cpp if it doesn't already exist. The latter seems like a better approach.

      Attachments

        Activity

          People

            jordi.serra-torrens@mongodb.com Jordi Serra Torrens
            jordi.serra-torrens@mongodb.com Jordi Serra Torrens
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: