Extend tassert diagnostic logging to include catalog information

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Fixed
    • Priority: Major - P3
    • 8.2.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Optimization
    • Fully Compatible
    • v8.1, v8.0, v7.0
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      In SERVER-90282, we added diagnostic printing on tassert and invariants to print the original find command BSON.

      We should consider logging catalog information such as the set of indexes and their settings, as well as the collection and its settings.

      This is a controversial idea because the catalog is itself a complicated structure which is synchronized between disk and in-memory, copy-on-write behavior, etc. Accessing it during the handling of a tassert or invariant may by itself cause another tassert/invariant if the catalog is in a bad state. We need to better understand what the implications of such a change would be and things we could do to improve the safety (i.e. mark diagnostic printing functions noexcept).

            Assignee:
            Hana Pearlman
            Reporter:
            Ben Shteinfeld
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: