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

Extend tassert diagnostic logging to include plan cache 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 plan cache information for the current query. This would be helpful for diagnosing failures in customer clusters. Dumping the entire state of the plan cache is infeasible as it may be quite large, especially in the case of the SBE plan cache.

      This is a controversial idea because the plan cache is complex structure protected by mutexes. Accessing it during the handling of a tassert/invariant may cause deadlocks, tripping another tassert/invariant, reading data in a bad state, etc. We'd need to think carefully about how to mitigate these risks.

            Assignee:
            Unassigned Unassigned
            Reporter:
            ben.shteinfeld@mongodb.com Ben Shteinfeld
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated: