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

Unify implementations of Status and DBException

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.5.12
    • Component/s: Internal Code
    • Labels:
      None

      Description

      This is prep work for a larger improvement to our error handling code. This ticket covers:

      • Removing location() from status and the _shard member from DBException, so that they logically hold the same data
      • Make DBException hold a Status and kill off the ExceptionInfo type
      • Make log() << ErrorCodes::SomeError use the name of the error
        rather than the number
      • Make argument order consistently code then message
      • Flatten class hierarchy to eliminate MsgAssertionException and UserException into AssertionException. All other
        types will remain, as will the various assert macros which will now
        just throw AssertionException. The difference between massert vs uassert will
        now just that massert logs.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                1 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: