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

Break unlisted circular dependency between logger and foundation libraries.

    • Fully Compatible
    • Platform 7 08/10/15

      The "mongo/foundation" library depends on "mongo/logger/logger", but "mongo/logger/logger" has an unlisted circular dependency back to "mongo/foundation" for time_support.cpp. mongo/util/time_support.cpp in turn depends on mongo/util/assert_util.cpp, which depends on various parts of the logger. To break the dependency chain, split out of time_support.cpp the basic functions for reading the current time and formatting times and dates. Then, remove the fasserts() from those functions, which should provably never fire. Put those functions into a basic time library in "base". Also, there is a verify() in ramlog.cpp, which we should be able to eliminate by making RamLog::toHTML a free function implemented in the webserver library.

            Assignee:
            Unassigned Unassigned
            Reporter:
            schwerin@mongodb.com Andy Schwerin
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: