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

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

      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.

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

              Created:
              Updated:
              Resolved: