• Type: Investigation
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Tools and Replicator
    • 3

      Original Downstream Change Summary

      When the server gathered the serverStatus metrics for the change streams preimages collection (section "changeStreamPreImages"), it was possible that exceptions thrown by the record store bubbled up the command layer, which made the serverStatus command fail.

      This change fixes this this by explicitly returning a value of 0 for the "storageSize" and "freeStorageSize" metrics in case the record store throws an exception. This follows the precedent already used in file "spill_wiredtiger_server_status.cpp", which also returns 0 for "storageSize" in case the record store throws.

      Downstream teams reading the value of "changeStreamPreImages.storageSize" and "changeStreamPreImages.freeStorageSize" should handle such intermittent return values of 0 accordingly.

      Description of Linked Ticket

      Inside the generation code here accessing the storage layer can lead to a max WiredTiger sessions error if we're at capacity. This layer does not handle this error, and the exception will propagate up to the serverStatus collector and prevent a particular serverStatus call.

      This error can be seen in execution 3 of this task inside the mongod logs.

            Assignee:
            Unassigned
            Reporter:
            Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: