-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Minor - P4
-
Affects Version/s: 4.0.20, 4.2.8
-
Component/s: Index Maintenance
-
Fully Compatible
-
ALL
-
v4.2, v4.0
-
Execution Team 2020-09-21, Execution Team 2020-10-05, Execution Team 2020-10-19, Execution Team 2020-11-16, Execution Team 2020-11-30, Execution Team 2020-12-14, Execution Team 2020-12-28, Execution Team 2021-01-11, Execution Team 2021-01-25, Execution Team 2021-02-08, Execution Team 2021-02-22
-
None
-
None
-
None
-
None
-
None
-
None
-
None
On 4.2 server when I try to create an index which mixes hashed and non-hashed fields I get an error message that does not state what the problem is:
MongoDB Enterprise mongos> db.myCollection.createIndex( {"user_id": "hashed", "identifier": 1, "timestamp": 1} )
{
"raw" : {
"shard02/localhost:14244,localhost:14245" : {
"ok" : 0,
"errmsg" : "Caught exception during index builder initialization test.myCollection (9f39f39e-b149-4a53-8a8b-84fcd8150eae): 1 provided. First index spec: { ns: \"test.myCollection\", v: 2, key: { user_id: \"hashed\", identifier: 1.0, timestamp: 1.0 }, name: \"user_id_hashed_identifier_1_timestamp_1\" }",
"code" : 16763,
"codeName" : "Location16763"
}
},
"code" : 16763,
"codeName" : "Location16763",
"ok" : 0,
"errmsg" : "Caught exception during index builder initialization test.myCollection (9f39f39e-b149-4a53-8a8b-84fcd8150eae): 1 provided. First index spec: { ns: \"test.myCollection\", v: 2, key: { user_id: \"hashed\", identifier: 1.0, timestamp: 1.0 }, name: \"user_id_hashed_identifier_1_timestamp_1\" }",
"operationTime" : Timestamp(1596415897, 7),
"$clusterTime" : {
"clusterTime" : Timestamp(1596415897, 9),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
}
}
I expected the error message to explain the problem in some way.
4.4 message when using more than one hashed field, for example, is clear as to what the problem is:
ongoDB Enterprise mongos> db.myCollection.createIndex( {"user_id": "hashed", "identifier": 1, "timestamp": "hashed"} )
{
"raw" : {
"shard01/localhost:14442,localhost:14443" : {
"ok" : 0,
"errmsg" : "Index build failed: f4ffc128-b2b7-43fb-8dc3-dca2f06616ba: Collection test.myCollection ( 04d2bde9-ca0b-4b6b-ae0b-d5e2471e5f1a ) :: caused by :: index build on empty collection failed: f4ffc128-b2b7-43fb-8dc3-dca2f06616ba :: caused by :: A maximum of one index field is allowed to be hashed but found 2 for 'key' { user_id: \"hashed\", identifier: 1.0, timestamp: \"hashed\" }",
"code" : 31303,
"codeName" : "Location31303"
}
},
"code" : 31303,
"codeName" : "Location31303",
"ok" : 0,
"errmsg" : "Index build failed: f4ffc128-b2b7-43fb-8dc3-dca2f06616ba: Collection test.myCollection ( 04d2bde9-ca0b-4b6b-ae0b-d5e2471e5f1a ) :: caused by :: index build on empty collection failed: f4ffc128-b2b7-43fb-8dc3-dca2f06616ba :: caused by :: A maximum of one index field is allowed to be hashed but found 2 for 'key' { user_id: \"hashed\", identifier: 1.0, timestamp: \"hashed\" }",
"operationTime" : Timestamp(1596415972, 1),
"$clusterTime" : {
"clusterTime" : Timestamp(1596415974, 3),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
}
}