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

TestGetDestinedRecipientThrowsOnBlockedRefresh should not run two refreshes without resetting the catalog cache loader mock return value

    XMLWordPrintableJSON

Details

    • Sharding EMEA
    • Fully Compatible
    • ALL
    • v7.0, v6.0, v5.0
    • Sharding EMEA 2023-09-04
    • 18
    • 2

    Description

      Detailed description in the attached BF.

      This unittest is starting two refreshes - one from the ShardingWriteRouter and one from calling getCollectionRoutingInfoWithRefresh and is only setting the catalog cache loader mock return value for the collection once. This is fine in the normal case where the refresh from the ShardingWriteRouter completes before the getCollectionRoutingInfoWithRefresh begins the refresh because the lookup time in the catalog cache refresh becomes the actual collection version after the first refresh and the catalog cache loader mock returns no changed chunks as expected. However, in the case that the getCollectionRoutingInfoWithRefresh launches the lookup when the prior refresh hasn't completed, the lookup time is still ChunkVersion::UNSHARDED() and so the return of no changed chunks causes the new chunk map to be created with no chunks in it.

      Attachments

        Activity

          People

            jordi.serra-torrens@mongodb.com Jordi Serra Torrens
            allison.easton@mongodb.com Allison Easton
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: