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

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

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.6.13, 4.0.10, 4.1.11
    • Affects Version/s: 4.0.6
    • Component/s: 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

      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.

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

              Created:
              Updated:
              Resolved: