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

Extend tassert diagnostic logging to include catalog information

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Optimization

      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:
            Unassigned Unassigned
            Reporter:
            ben.shteinfeld@mongodb.com Ben Shteinfeld
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated: