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

NamespaceMetadataChangeNotificationsTest, and other sharding unit test fixtures, call ServiceContext::setTickSource() after the JournalFlusher, which uses the TickSource, is started in ServiceContextMongoDTest

    • Type: Icon: Bug Bug
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Storage
    • None
    • Storage Execution
    • ALL
    • 119

      The JournalFlusher initiated by ServiceContextMongoDTest uses the TickSource set on the ServiceContext. NamespaceMetadataChangeNotificationsTest sets a new TickSource on the ServiceContext, which deletes the original TickSource without any concurrency control. Therefore, we must adjust the ServiceContext's TickSource before the JournalFlusher is started up.

      We could push NamespaceMetadataChangeNotificationsTest's ServiceContext::setTickSource() call into the ServiceContextMongoDTest base class before the JournalFlusher is started via StorageControl::startStorageControls. However, there are other unit tests, not currently failing, which also call ServiceContext::setTickSource(). Maybe we need some lower level test fixture for sharding setting TickSource the like??

            Assignee:
            backlog-server-execution [DO NOT USE] Backlog - Storage Execution Team
            Reporter:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: