[SERVER-56231] [SBE] Certain tests timeout on assert.soon in change_streams_mongos_passthrough suite Created: 21/Apr/21  Updated: 22/Apr/21  Resolved: 22/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: Andrii Dobroshynski (Inactive)
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates SERVER-55672 [SBE][replica_sets] postBatchResumeTo... Closed
Operating System: ALL
Steps To Reproduce:

buildscripts/resmoke.py run --suite=change_streams_mongos_passthrough --mongodSetParameters='{featureFlagSBE: true}' jstests/change_streams/include_cluster_time.js
 
buildscripts/resmoke.py run --suite=change_streams_mongos_passthrough --mongodSetParameters='{featureFlagSBE: true}' jstests/change_streams/collation.js
 
buildscripts/resmoke.py run --suite=change_streams_mongos_passthrough --mongodSetParameters='{featureFlagSBE: true}' jstests/change_streams/start_at_cluster_time.js
 
buildscripts/resmoke.py run --suite=change_streams_mongos_passthrough --mongodSetParameters='{featureFlagSBE: true}' jstests/change_streams/whole_db_metadata_notifications.js

 

Sprint: Query Execution 2021-05-03
Participants:

 Description   

Tests fails on asserts as below:

[js_test:include_cluster_time] assert.soon failed: () => changeStream.hasNext() The hang analyzer is automatically called in assert.soon functions. If you are *expecting* assert.soon to possibly fail, call assert.soon with {runHangAnalyzer: false} as the fifth argument (you can fill unused arguments with `undefined`).

Or
 

[js_test:collation] assert.soon failed: () => { [js_test:collation] assert.neq( [js_test:collation] cursor.id, [js_test:collation] NumberLong(0), [js_test:collation] "Cursor has been closed unexpectedly. Observed change stream events: " + [js_test:collation] tojson(changes)); [js_test:collation] cursor = self.getNextBatch(cursor); [js_test:collation] changes[i] = getNextDocFromCursor(cursor); [js_test:collation] return changes[i] !== null; [js_test:collation] } : timed out waiting for another result from the change stream, observed changes: [ null ], expected changes: 1 The hang analyzer is automatically called in assert.soon functions. If you are *expecting* assert.soon to possibly fail, call assert.soon with {runHangAnalyzer: false} as the fifth argument (you can fill unused arguments with `undefined`). [js_test:collation] doassert@src/mongo/shell/assert.js:20:14 [js_test:collation] assert.soon@src/mongo/shell/assert.js:382:17 [js_test:collation] ChangeStreamTest/self.getNextChanges@jstests/libs/change_stream_util.js:203:13 [js_test:collation] ChangeStreamTest/self.assertNextChangesEqual@jstests/libs/change_stream_util.js:289:23 [js_test:collation] @jstests/change_streams/collation.js:40:1 [js_test:collation] @jstests/change_streams/collation.js:5:2 [js_test:collation] uncaught exception: Error: assert.soon failed: () => { [js_test:collation] assert.neq( [js_test:collation] cursor.id, [js_test:collation] NumberLong(0), [js_test:collation] "Cursor has been closed unexpectedly. Observed change stream events: " + [js_test:collation] tojson(changes)); [js_test:collation] cursor = self.getNextBatch(cursor); [js_test:collation] changes[i] = getNextDocFromCursor(cursor); [js_test:collation] return changes[i] !== null; [js_test:collation] } : timed out waiting for another result from the change stream, observed changes: [ null ], expected changes: 1 The hang analyzer is automatically called in assert.soon functions. If you are *expecting* assert.soon to possibly fail, call assert.soon with {runHangAnalyzer: false} as the fifth argument (you can fill unused arguments with `undefined`). : [js_test:collation] doassert@src/mongo/shell/assert.js:20:14 [js_test:collation] assert.soon@src/mongo/shell/assert.js:382:17 [js_test:collation] ChangeStreamTest/self.getNextChanges@jstests/libs/change_stream_util.js:203:13 [js_test:collation] ChangeStreamTest/self.assertNextChangesEqual@jstests/libs/change_stream_util.js:289:23 [js_test:collation] @jstests/change_streams/collation.js:40:1 [js_test:collation] @jstests/change_streams/collation.js:5:2 [js_test:collation] failed to load: jstests/change_streams/collation.js [js_test:collation] exiting with code -3

Task.
 



 Comments   
Comment by Anton Korshunov [ 21/Apr/21 ]

This could be a dup of SERVER-55672.

Comment by Anton Korshunov [ 21/Apr/21 ]

And these tests in change_streams_sharded_collections_passthrough:

  • jstests/change_streams/error_label.js
  • jstests/change_streams/pipeline_style_updates.js
  • jstests/change_streams/whole_cluster.js
  • jstests/change_streams/apply_ops.js

jstests/change_streams/only_wake_getmore_for_relevant_changes.js has a different symptom, but likely to have the same root cause.

Task.

Comment by Anton Korshunov [ 21/Apr/21 ]

Also the following tests in change_streams_secondary_reads:

  • jstests/change_streams/does_not_implicitly_create_database.js
  • jstests/change_streams/whole_db_metadata_notifications.js
  • jstests/change_streams/whole_cluster_metadata_notifications.js
  • stests/change_streams/whole_db.js

Task.

Comment by Anton Korshunov [ 21/Apr/21 ]

Similarly, the following tests fail in change_streams_multi_stmt_txn_sharded_collections_passthrough:

  • jstests/change_streams/whole_db_resumability.js
  • jstests/change_streams/pipeline_cannot_modify_id_field.js
  • jstests/change_streams/whole_cluster_resumability.js
  • jstests/change_streams/no_regex_leak.js

Task.

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