getDatabaseVersion can hit a tassert if an operation is holding the critical section

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: 8.3.0-rc0
    • Component/s: None
    • None
    • Catalog and Routing
    • ALL
    • CAR Team 2025-09-01, CAR Team 2025-09-15
    • 200
    • None
    • 3
    • TBD
    • 🟦 Shard Catalog
    • None
    • None
    • None
    • None
    • None
    • None

      After SERVER-103711 (Replace setter methods from DatabaseShardingRuntime with a new dedicated class), accessing the filtering database metadata (DSR) on a shard server is forbidden while a critical section is held.

      If a user runs getDatabaseVersion during a critical section, it will trigger a tassert.

      Possible solutions include:

      1. Making the filtering metadata always readable in specific scenarios (such as this command), while clearly declaring that this is an unsafe usage.
      2. Checking for the critical section while holding the DSR mutex, before accessing its content.

            Assignee:
            Aitor Esteve Alvarado
            Reporter:
            Pol Pinol
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: