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

Avoid the scenario when KeyManager creates 2 keys with close expiration

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: Major - P3 Major - P3
    • None
    • 3.5.6
    • Sharding
    • None
    • Fully Compatible
    • ALL
    • Sharding 2017-06-19

    Description

      Imagine the scenario of the node1 that is a primary becomes secondary while the node2 becomes a new primary. If the key expiration coincides with the transition its possible that
      node1 writes a new key just before it stops being primary and node2 reads the stale cache and adds another key. As a result the system.keys collection will have two different keys with the close expiresAt values. This can lead to the scenario when the key is not available to a secondary when 2 keys with close expiration just expired but the new key is not added by a KeyUpdater because the node has a clock skew.

      Attachments

        Activity

          People

            misha.tyulenev@mongodb.com Misha Tyulenev
            misha.tyulenev@mongodb.com Misha Tyulenev
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: