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

_isSelf command needs to be marked requiresAuth false

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.6.17, 4.0.0, 4.1.1
    • Affects Version/s: None
    • Component/s: Internal Code
    • Labels:
    • Fully Compatible
    • ALL
    • v3.6
    • Platforms 2018-06-04, Platforms 2018-06-18
    • 0

      The _isSelf command can be issued while digesting a replica set config if we cannot determine the "is self" answer by other means. Those other means seem to be unable to determine the "is self" on some platforms [*], so we fall back to issuing an _isSelf on the network.

      In the referenced BFs, this was happening in a restarted single-node replica set. When it restarts, it issues _isSelf and fails because it has no key file (single-node replica sets don't think they need a key file) and so won't accept __system user commands.

      The fix is to just override _isSelf's Command to make requiresAuth() return false.

      [*] Debian builders and on my Ubuntu 18.04 workstation, but not other evergreen builders like RHEL.

            billy.donahue@mongodb.com Billy Donahue
            billy.donahue@mongodb.com Billy Donahue
            0 Vote for this issue
            3 Start watching this issue