-
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
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) } } }