[SERVER-73157] Move out_max_time_ms tests to serial_run suite Created: 20/Jan/23  Updated: 29/Oct/23  Resolved: 24/Jan/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 6.3.0-rc0, 6.0.5, 4.4.20, 5.0.16

Type: Task Priority: Major - P3
Reporter: Colin Stolley Assignee: Colin Stolley
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Related
Backwards Compatibility: Fully Compatible
Backport Requested:
v6.2, v6.0, v5.0, v4.4, v4.2
Sprint: QE 2023-02-06
Participants:
Linked BF Score: 7

 Description   

In https://jira.mongodb.org/browse/BF-23621 we have a problem where sometimes collection and index creation can take an arbitrarily long period of time to complete. This causes the test to fail, because if the operation takes more than 2 seconds (the current maxTimeMS value for this test), the timeout will be converted to infinite due to a bug with how timeouts are calculated while the maxTimeNeverTimeOut failpoint is enabled. If the timeout never fires, the test fails.

Specifically, the problem is the failpoint only disables throwing an exception if maxTimeMs expires, it doesn't actually prevent the code from consuming the deadline. Therefore if the temporary collection creation takes longer than the allotted 2s to finish, it does not timeout, but surprisingly gives the remainder of the operations an infinite timeout due to this codeblock even after the failpoint is disabled. With maxTimeMs set to 0, that entire code block is skipped, and the default for new operation contexts is no timeout at all. The timeout never happens and the test fails.

I think we can avoid this situation by running the test under the serial_run suite, which should make arbitrarily long temporary collection creations unlikely to happen.



 Comments   
Comment by Githook User [ 21/Feb/23 ]

Author:

{'name': 'Colin Stolley', 'email': 'colin.stolley@mongodb.com', 'username': 'ccstolley'}

Message: SERVER-73157 Move out_max_time_ms tests to serial_run suite
Branch: v6.0
https://github.com/mongodb/mongo/commit/b49764624326b413765199ba089b652ba5c7be5a

Comment by Githook User [ 21/Feb/23 ]

Author:

{'name': 'Colin Stolley', 'email': 'colin.stolley@mongodb.com', 'username': 'ccstolley'}

Message: SERVER-73157 Move out_max_time_ms tests to serial_run suite
Branch: v5.0
https://github.com/mongodb/mongo/commit/1070e3a4a42b5173088235e90a7174ab034d7fab

Comment by Githook User [ 21/Feb/23 ]

Author:

{'name': 'Colin Stolley', 'email': 'colin.stolley@mongodb.com', 'username': 'ccstolley'}

Message: SERVER-73157 Move out_max_time_ms tests to serial_run suite
Branch: v4.4
https://github.com/mongodb/mongo/commit/64fab8c494aa7287347b155d4ffee1454483c4ff

Comment by Githook User [ 24/Jan/23 ]

Author:

{'name': 'Colin Stolley', 'email': 'colin.stolley@mongodb.com', 'username': 'ccstolley'}

Message: SERVER-73157 Move out_max_time_ms tests to serial_run suite
Branch: master
https://github.com/mongodb/mongo/commit/8ed3fc46895dce7df675cc6b6ce4d47b7a1bd4dc

Generated at Thu Feb 08 06:23:50 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.