[SERVER-61050] timeseries_merge.js fails on sharded_causally_consistent_read_concern_snapshot_passthrough Created: 27/Oct/21  Updated: 03/Nov/23  Resolved: 03/Nov/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: David Percy Assignee: Henri Nikku
Resolution: Gone away Votes: 0
Labels: greenerbuild
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Query Optimization
Operating System: ALL
Participants:

 Description   

I'm getting a strange error on timeseries_merge.js: when it runs an aggregation with $merge, it fails with "Command listIndexes does not support ... readConcern ... snapshot". I don't see where the "listIndexes" is coming from.

This only happens on `sharded_causally_consistent_read_concern_snapshot_passthrough`. These other suites all pass:

  • `causally_consistent_read_concern_snapshot_passthrough`
  • `sharded_causally_consistent_jscore_passthrough`
  • `sharded_causally_consistent_jscore_txns_passthrough`

`merge/all_modes.js` passes on `sharded_causally_consistent_read_concern_snapshot_passthrough`, so it's not that $merge doesn't support readConcern snapshot.

So it must have something to do with the interaction of time-series, sharding, and readConcern snapshot.

[js_test:timeseries_merge] uncaught exception: Error: command did not fail with any of the following codes [ 66 ] Error: command failed: {
[js_test:timeseries_merge] 	"ok" : 0,
[js_test:timeseries_merge] 	"errmsg" : "Command listIndexes does not support { readConcern: { level: \"snapshot\", atClusterTime: Timestamp(1635362309, 64), provenance: \"clientSupplied\" } } :: caused by :: read concern not supported",
[js_test:timeseries_merge] 	"code" : 72,
[js_test:timeseries_merge] 	"codeName" : "InvalidOptions",
[js_test:timeseries_merge] 	"$clusterTime" : {
[js_test:timeseries_merge] 		"clusterTime" : Timestamp(1635362309, 64),
[js_test:timeseries_merge] 		"signature" : {
[js_test:timeseries_merge] 			"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
[js_test:timeseries_merge] 			"keyId" : NumberLong(0)
[js_test:timeseries_merge] 		}
[js_test:timeseries_merge] 	},
[js_test:timeseries_merge] 	"operationTime" : Timestamp(1635362309, 64)
[js_test:timeseries_merge] } with original command request: {
[js_test:timeseries_merge] 	"query" : {
[js_test:timeseries_merge] 		"aggregate" : "in",
[js_test:timeseries_merge] 		"pipeline" : [
[js_test:timeseries_merge] 			{
[js_test:timeseries_merge] 				"$merge" : {
[js_test:timeseries_merge] 					"into" : "out",
[js_test:timeseries_merge] 					"on" : "hostid",
[js_test:timeseries_merge] 					"whenMatched" : "replace"
[js_test:timeseries_merge] 				}
[js_test:timeseries_merge] 			}
[js_test:timeseries_merge] 		],
[js_test:timeseries_merge] 		"cursor" : {
[js_test:timeseries_merge] 
[js_test:timeseries_merge] 		},
[js_test:timeseries_merge] 		"lsid" : {
[js_test:timeseries_merge] 			"id" : UUID("4f1d491c-763d-4dc6-b0c4-69f78f7b581f")
[js_test:timeseries_merge] 		},
[js_test:timeseries_merge] 		"$clusterTime" : {
[js_test:timeseries_merge] 			"clusterTime" : Timestamp(1635362309, 64),
[js_test:timeseries_merge] 			"signature" : {
[js_test:timeseries_merge] 				"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
[js_test:timeseries_merge] 				"keyId" : NumberLong(0)
[js_test:timeseries_merge] 			}
[js_test:timeseries_merge] 		},
[js_test:timeseries_merge] 		"readConcern" : {
[js_test:timeseries_merge] 			"afterClusterTime" : Timestamp(1635362309, 64),
[js_test:timeseries_merge] 			"level" : "snapshot"
[j0:s] | 2021-10-27T19:18:29.267+00:00 I  COMMAND  51803   [conn28] "Slow query","attr":{"type":"command","ns":"admin.$cmd","appName":"MongoDB Shell","command":{"endSessions":[{"id":{"$uuid":"4f1d491c-763d-4dc6-b0c4-69f78f7b581f"}}],"$db":"admin"},"numYields":0,"reslen":163,"readConcern":{"level":"local","provenance":"implicitDefault"},"remote":"127.0.0.1:55476","protocol":"op_msg","durationMillis":0}
[j0:s] | 2021-10-27T19:18:29.268+00:00 I  NETWORK  22944   [conn28] "Connection ended","attr":{"remote":"127.0.0.1:55476","uuid":"2bb16171-dae2-46f7-bb2a-ed4777bd0957","connectionId":28,"connectionCount":0}
[js_test:timeseries_merge] 		},
[js_test:timeseries_merge] 		"writeConcern" : {
[js_test:timeseries_merge] 			"w" : "majority",
[js_test:timeseries_merge] 			"wtimeout" : 300321
[js_test:timeseries_merge] 		}
[js_test:timeseries_merge] 	},
[js_test:timeseries_merge] 	"$readPreference" : {
[js_test:timeseries_merge] 		"mode" : "secondary"
[js_test:timeseries_merge] 	}
[js_test:timeseries_merge] } on connection: connection to localhost:20003 : aggregate failed :
[js_test:timeseries_merge] _getErrorWithCode@src/mongo/shell/utils.js:24:13
[js_test:timeseries_merge] doassert@src/mongo/shell/assert.js:18:14
[js_test:timeseries_merge] _assertCommandFailed@src/mongo/shell/assert.js:783:21
[js_test:timeseries_merge] assert.commandFailedWithCode@src/mongo/shell/assert.js:851:16
[js_test:timeseries_merge] runMergeOnErrorTestCase@jstests/core/timeseries/timeseries_merge.js:65:5
[js_test:timeseries_merge] @jstests/core/timeseries/timeseries_merge.js:107:1
[js_test:timeseries_merge] @jstests/core/timeseries/timeseries_merge.js:10:2
[js_test:timeseries_merge] failed to load: jstests/core/timeseries/timeseries_merge.js



 Comments   
Comment by Githook User [ 27/Oct/23 ]

Author:

{'name': 'henrinikku', 'email': 'henri.nikku@mongodb.com', 'username': 'henrinikku'}

Message: SERVER-61050 Enable timeseries_merge.js on sharded_causally_consistent_read_concern_snapshot_passthrough
Branch: master
https://github.com/mongodb/mongo/commit/af39933b7e530cf1e582093fa06197ec6dd7799a

Comment by David Percy [ 28/Oct/21 ]

I get a very similar error on sharded_retryable_writes_downgrade_passthrough:

[js_test:timeseries_merge] uncaught exception: Error: command did not fail with any of the following codes [ 66 ] Error: command failed: {
[js_test:timeseries_merge]      "ok" : 0,
[js_test:timeseries_merge]      "errmsg" : "Command listIndexes does not support { readConcern: { level: \"majority\", afterClusterTime: Timestamp(1635436118, 19), provenance: \"clientSupplied\" } } :: caused by :: read concern not supported",
[js_test:timeseries_merge]      "code" : 72,
[js_test:timeseries_merge]      "codeName" : "InvalidOptions",
[js_test:timeseries_merge]      "$clusterTime" : {
[js_test:timeseries_merge]              "clusterTime" : Timestamp(1635436118, 19),
[js_test:timeseries_merge]              "signature" : {
[js_test:timeseries_merge]                      "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
[js_test:timeseries_merge]                      "keyId" : NumberLong(0)
[js_test:timeseries_merge]              }
[js_test:timeseries_merge]      },
[js_test:timeseries_merge]      "operationTime" : Timestamp(1635436118, 19)
[js_test:timeseries_merge] } with original command request: {
[js_test:timeseries_merge]      "aggregate" : "in",
[js_test:timeseries_merge]      "pipeline" : [
[js_test:timeseries_merge]              {
[js_test:timeseries_merge]                      "$merge" : {
[js_test:timeseries_merge]                              "into" : "out",
[js_test:timeseries_merge]                              "on" : "hostid",
[js_test:timeseries_merge]                              "whenMatched" : "replace"
[js_test:timeseries_merge]                      }
[js_test:timeseries_merge]              }
[js_test:timeseries_merge]      ],
[js_test:timeseries_merge]      "cursor" : {
[js_test:timeseries_merge] 
[js_test:timeseries_merge]      },
[js_test:timeseries_merge]      "lsid" : {
[js_test:timeseries_merge]              "id" : UUID("e21f6b84-270e-4d64-8265-693666fc8c5e")
[js_test:timeseries_merge]      },
[js_test:timeseries_merge]      "$clusterTime" : {
[js_test:timeseries_merge]              "clusterTime" : Timestamp(1635436118, 19),
[js_test:timeseries_merge]              "signature" : {
[js_test:timeseries_merge]                      "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
[js_test:timeseries_merge]                      "keyId" : NumberLong(0)
[js_test:timeseries_merge]              }
[js_test:timeseries_merge]      },
[js_test:timeseries_merge]      "readConcern" : {
[js_test:timeseries_merge]              "level" : "majority",
[js_test:timeseries_merge]              "afterClusterTime" : Timestamp(1635436118, 19)
[js_test:timeseries_merge]      },
[js_test:timeseries_merge]      "writeConcern" : {
[js_test:timeseries_merge]              "w" : "majority",
[js_test:timeseries_merge]              "wtimeout" : 300321
[js_test:timeseries_merge]      }
[js_test:timeseries_merge] } on connection: connection to localhost:20006 : aggregate failed :
[js_test:timeseries_merge] _getErrorWithCode@src/mongo/shell/utils.js:24:13
[js_test:timeseries_merge] doassert@src/mongo/shell/assert.js:18:14
[js_test:timeseries_merge] _assertCommandFailed@src/mongo/shell/assert.js:783:21
[js_test:timeseries_merge] assert.commandFailedWithCode@src/mongo/shell/assert.js:851:16
[js_test:timeseries_merge] runMergeOnErrorTestCase@jstests/core/timeseries/timeseries_merge.js:65:5
[js_test:timeseries_merge] @jstests/core/timeseries/timeseries_merge.js:107:1
[js_test:timeseries_merge] @jstests/core/timeseries/timeseries_merge.js:10:2
[js_test:timeseries_merge] failed to load: jstests/core/timeseries/timeseries_merge.js
[js_test:timeseries_merge] exiting with code -3

Generated at Thu Feb 08 05:51:25 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.