[SERVER-46710] Consider avoiding ending sessions the shell has opened at the end of resmoke test Created: 09/Mar/20 Updated: 08/Jan/24 Resolved: 10/Apr/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Shell, Testing Infrastructure |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Janna Golden | Assignee: | [DO NOT USE] Backlog - Sharding Team |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Assigned Teams: |
Sharding
|
||||
| Participants: | |||||
| Linked BF Score: | 34 | ||||
| Description |
|
After a test has completed, we end all of the sessions the shell has opened. If a test creates a large number of sessions, this can take a really long time - i.e. bulk_shard_insert.js inserts 900 docs, and the check_orphans_are_deleted.js hook that runs at the end opens a session per document. We sometimes timeout as seen is BF-16239. This ticket is to look into how long we typically spend ending sessions at the end of a test and to consider skipping doing this to speed up test time. |
| Comments |
| Comment by Mira Carey [ 10/Apr/20 ] |
|
It's my understanding that normally this isn't a problem (the speed of ending sessions) and it only becomes a problem if a test has made a massive number of sessions, or if something is broken on the server ending sessions. As such, wont fix |
| Comment by Max Hirschhorn [ 13/Mar/20 ] |
|
mira.carey@mongodb.com, I'm curious as to what you think the feasibility of making SessionInfo::finalize() not attempt to end sessions when the mongo shell is exiting after running a JavaScript test (regardless of whether the test succeeded or failed). I'd like to do it in such a way that we aren't concerned about its impact on the user-facing version of the mongo shell (e.g. basing it on a TestData option being set like we do for failIfUnterminatedProcesses) or where it'd undermine the behavior of while a test while it is running (e.g. one that wanted to test the server's behavior around ending session). |