[SERVER-56094] [SBE][retryable_writes_jscore_stepdown_passthrough] Certain tests fail as they issue unexpected getMore command Created: 14/Apr/21  Updated: 19/May/21  Resolved: 16/Apr/21

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

Type: Bug Priority: Major - P3
Reporter: Anton Korshunov Assignee: Mindaugas Malinauskas
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates SERVER-56099 [SBE] Fix all PlanStage getNext() met... Closed
Related
is related to SERVER-56089 Enable retryable_writes_jscore_stepdo... Closed
is related to SERVER-57067 [SBE] Find command unexpectedly retur... Closed
Operating System: ALL
Sprint: Query Execution 2021-04-19
Participants:

 Description   

The following tests are failing in SBE mode as they're issuing a getMore command, which is not compatible with stepdowns. In the classic engine, the getMore's are not issued. We need to investigate where this difference in behaviour is coming from:

  • jstests/core/and_or_index_sort.js
  • jstests/core/sort_merge_collation.js
  • jstests/core/or_inexact.js
  • jstests/core/sort_merge.js
  • jstests/core/explode_for_sort_fetch.js
  • jstests/core/ork.js
  • jstests/core/hashed_index_collation.js


 Comments   
Comment by Kyle Suarez [ 14/Apr/21 ]

This also happens in the replica_sets_kill_primary_jscore_passthrough, again for jstests/core/hashed_index_collation.js. task link

[js_test:hashed_index_collation] uncaught exception: Error: error doing query: failed: Refusing to run a test that issues a getMore command since if a network error occurs during it then we won't know whether the cursor was advanced or not. CmdName: getMore, CmdObj: {
[js_test:hashed_index_collation] 	"getMore" : NumberLong("903953336949318403"),
[js_test:hashed_index_collation] 	"collection" : "hashed_index_collation",
[js_test:hashed_index_collation] 	"lsid" : {
[js_test:hashed_index_collation] 		"id" : UUID("ad7d792d-c24d-41b8-a534-53e5c0f84f18")
[js_test:hashed_index_collation] 	},
[js_test:hashed_index_collation] 	"$clusterTime" : {
[js_test:hashed_index_collation] 		"clusterTime" : Timestamp(1618344808, 6),
[js_test:hashed_index_collation] 		"signature" : {
[js_test:hashed_index_collation] 			"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
[js_test:hashed_index_collation] 			"keyId" : NumberLong(0)
[js_test:hashed_index_collation] 		}
[js_test:hashed_index_collation] 	}
[js_test:hashed_index_collation] } :
[js_test:hashed_index_collation] DB.prototype.runCommand@src/mongo/shell/db.js:177:19
[js_test:hashed_index_collation] DBCommandCursor.prototype._runGetMoreCommand@src/mongo/shell/query.js:822:18
[js_test:hashed_index_collation] DBCommandCursor.prototype._hasNextUsingCommands@src/mongo/shell/query.js:859:9
[js_test:hashed_index_collation] DBCommandCursor.prototype.hasNext@src/mongo/shell/query.js:867:16
[js_test:hashed_index_collation] DBQuery.prototype.toArray@src/mongo/shell/query.js:342:12
[js_test:hashed_index_collation] validateFindCmdOutputAndPlan@jstests/core/hashed_index_collation.js:35:24
[js_test:hashed_index_collation] @jstests/core/hashed_index_collation.js:82:1
[js_test:hashed_index_collation] @jstests/core/hashed_index_collation.js:11:2
[js_test:hashed_index_collation] failed to load: jstests/core/hashed_index_collation.js
[js_test:hashed_index_collation] exiting with code -3

Comment by Kyle Suarez [ 14/Apr/21 ]

I'm also seeing this same issue in the following tests during the replica_sets_multi_stmt_txn_terminate_primary_jscore_passthrough (task link):

  • jstests/core/or_inexact.js
  • jstests/core/and_or_index_sort.js
  • jstests/core/ork.js
  • jstests/core/explode_for_sort_fetch.js
  • jstests/core/hashed_index_collation.js
  • jstests/core/sort_merge_collation.js
  • jstests/core/index_bounds_static_limit.js
  • jstests/core/sort_merge.js

During an offline Slack conversation with anton.korshunov, my initial suspicion is that certain queries that would normally return an entire result set in a single response in the classic engine now require a getMore in SBE.

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