[SERVER-43063] Make the ServerParameterSet map non-leaky Created: 28/Aug/19 Updated: 27/Oct/23 Resolved: 26/Dec/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Dianna Hohensee (Inactive) | Assignee: | DO NOT USE - Backlog - Dev Tools |
| Resolution: | Gone away | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Assigned Teams: |
Developer Tools
|
||||||||||||
| Participants: | |||||||||||||
| Description |
|
Right now we leak the map of server parameters contained inside the ServerParametersSet class leaks memory on shutdown. As far as I can tell, it is a global and currently implicitly leaked somehow without ASAN complaining. ----------------------------- We want to run WiredTiger in unit tests with higher level code. The setup of the WiredTigerKVEngine (the wt storage engine) requires manually setting up a couple server parameters here. However, ASAN catches the memory leak in unit tests: it appears to be more strict in unit test binaries than the mongod binary. -------------------------- |
| Comments |
| Comment by Eric Milkie [ 26/Dec/19 ] |
|
I fixed the leak of the ServerParameters with |
| Comment by Dianna Hohensee (Inactive) [ 10/Sep/19 ] |
|
I've updated the description per what we ended up doing in |
| Comment by Billy Donahue [ 28/Aug/19 ] |
|
The name forTesting could mean a lot of different behaviors. Let's put a hint in the name indicating what its implication is. Specifically that it is okay to re-add this ServerParameter to a ServerParameterSet. I think maybe you don't need a ServerParameterSet::setTesting function. We can unconditionally disable the dupe check for any incoming ServerParameter that has been marked forTesting (or whatever that mark gets renamed to). |