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

Avoid the scenario when KeyManager creates 2 keys with close expiration

    • Type: Icon: Bug Bug
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 3.5.6
    • Component/s: Sharding
    • None
    • Fully Compatible
    • ALL
    • Sharding 2017-06-19

      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.

            Assignee:
            misha.tyulenev@mongodb.com Misha Tyulenev (Inactive)
            Reporter:
            misha.tyulenev@mongodb.com Misha Tyulenev (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: