-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
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.