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

Add storage debug method to dump system-wide RecoveryUnit/transaction state

    • Type: Icon: New Feature New Feature
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Storage
    • None
    • Storage Execution

      There are a couple ways of going about this.

      • Expose methods in WT that dumps its internal state.
      • Have MDB walk Clients->OpCtx->RecoveryUnits

      The latter is advantageous because it's easier to connect an OpCtx with what it was doing than a pointer to a WT session.

      However, there are some gaps with walking MDB's tree. It's uncommon, but possible for recovery units to become detached as part of a "side transaction". They're temporarily stored as function locals and otherwise unable to be discovered by traversing memory structures.

      If WT_CONNECTION::debug_info returned a structure, we might be able to get the best of both worlds by linking up a WT session with an OpCtx and be able to surface the dangling transactions.

            Assignee:
            backlog-server-execution [DO NOT USE] Backlog - Storage Execution Team
            Reporter:
            daniel.gottlieb@mongodb.com Daniel Gottlieb (Inactive)
            Votes:
            1 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: