-
Notifications
You must be signed in to change notification settings - Fork 12
Description
MongoDB 4.1.1 requires shards to be replica sets. Orchestration appears to know that; it starts shard servers as replicas even if there is only one server per shard.
However, with auth enabled and multiple servers per shard, initialization fails. Shard servers log:
2018-08-05T10:42:47.937+0000 I NETWORK [listener] connection accepted from 127.0.0.1:59888 #62 (3 connections now open)
2018-08-05T10:42:47.941+0000 I NETWORK [conn62] received client metadata from 127.0.0.1:59888 conn62: { driver: { name: "MongoDB Internal Client", version: "4.1.1-224-gecb0b6c" }, os: { type: "Linux", name: "Ubuntu", architecture: "x86_64", version: "14.04" } }
2018-08-05T10:42:47.942+0000 I ACCESS [conn62] SASL SCRAM-SHA-1 authentication failed for __system on local from client 127.0.0.1:59888 ; AuthenticationFailed: It is not possible to authenticate as the __system user on servers started without a --keyFile parameter
2018-08-05T10:42:47.942+0000 I NETWORK [conn62] end connection 127.0.0.1:59888 (2 connections now open)
An example config file that triggers this failure is the C Driver's sharded_clusters/auth-ssl.json at version 2f387895. This config file starts two servers per shard; the standard drivers-evergreen-tools config file uses one server per shard and that still works with the latest MongoDB.
I think this is due to a recent server change, since Orchestration can still use this config file, with two members per shard, with MongoDB 4 and earlier, and the failure began with the latest MongoDB about a week ago. Furthermore the failure might be intermittent for some reason.
First tracked in https://jira.mongodb.org/browse/CDRIVER-2783