Details
-
Task
-
Resolution: Fixed
-
Major - P3
-
None
-
None
-
Fully Compatible
-
Sharding 2020-06-29
-
25
Description
Commands including a $clusterTime sent to an arbiter result in an error when auth is enabled on the server.
I reproduced locally by creating a three node (PSA) replica set with auth enabled using mlaunch:
mlaunch init --replicaset --arbiter --nodes=2 --auth --username user --password password --name replicaSet --setParameter enableTestCommands=1 --verbose --dir repro
|
The error can be reproduced by sending a command to the arbiter with a $clusterTime obtained from another node. Example with the shell:
var cmd = {
|
"isMaster": 1,
|
"$clusterTime" : {
|
"clusterTime" : Timestamp(1591812742, 1),
|
"signature" : {
|
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
|
"keyId" : NumberLong(0)
|
}
|
}
|
}
|
|
db.runCommand(cmd)
|
Replies with:
{
|
"ok" : 0,
|
"errmsg" : "aborting keys cache refresh because node is shutting down",
|
"code" : 91,
|
"codeName" : "ShutdownInProgress"
|
}
|
Interestingly, this occurs without authenticating the connection, but I cannot reproduce this if the server is started without auth enabled.
Behavior appears in server version 4.5.0-1606-gbd74e90, but not 4.5.0-1602-g5c6e1e5.
The most relevant looking server commit is 7074dee1fbf6763c0d463c377c2e47d8ef2c4f6f.
This originally appeared as a C driver test failure in CDRIVER-3708.
Attachments
Issue Links
- is depended on by
-
CDRIVER-3708 /Client/descriptions failure
-
- Closed
-