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

Remove in-memory boolean to indicate config.server.sessions collection set up

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • 4.0.6
    • 3.6.13, 4.0.10, 4.1.11
    • Sharding
    • None
    • Fully Compatible
    • ALL
    • v4.0, v3.6
    • Hide

      1. Launch a sharded cluster
      2. Wait for the config.system.sessions collection to be created
      3. Drop that collection

      Show
      1. Launch a sharded cluster 2. Wait for the config.system.sessions collection to be created 3. Drop that collection
    • Sharding 2019-04-08, Sharding 2019-04-22
    • 52

    Description

      Problem Statement

      config.system.sessions is not automatically recreated after a drop in 4.0.

      Proposed Solution

      1. Create a method in SessionsCollection named onSessionsCollectionDropped. This method would be a no-op everywhere except for the config server child class, where we would flip the _collectionSetUp boolean to false.
      2. Expose the SessionsCollection to outside callers through a new LogicalSessionCache method. If we decide this isn't alright, we can just mirror the sessions collection with onSessionsCollectionDropped.
      3. Hook into the config server opObserver onCollectionDropped to get the SessionsCollection and call onSessionsCollectionDropped.
      4. Create a ticket to consider making the LogicalSessionCache or SessionsCollection its own opObserver.

      Rejected Solutions

      1. Create an opObserver for the SessionsCollection. We think that this is overkill for the current bugfix.

      Attachments

        Issue Links

          Activity

            People

              blake.oler@mongodb.com Blake Oler
              daniel.hatcher@mongodb.com Danny Hatcher (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: