[SERVER-25572] Fix ASAN clean shutdown logic Created: 11/Aug/16 Updated: 02/Sep/16 Resolved: 23/Aug/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Networking |
| Affects Version/s: | 3.3.10 |
| Fix Version/s: | 3.3.12 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Mira Carey | Assignee: | Mira Carey |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Backwards Compatibility: | Fully Compatible | ||||
| Operating System: | ALL | ||||
| Steps To Reproduce: | ./buildscripts/resmoke.py --executor sharding_jscore_passthrough jstests/core/all.js # or anything else that isn't blacklisted.
|
||||
| Sprint: | Platforms 2016-08-26 | ||||
| Participants: | |||||
| Linked BF Score: | 0 | ||||
| Description |
|
During shutdown a number of things are currently happening that shouldn't be: 1. The legacy transport layer is failing to actually close sockets in closeAll. It's doing this because the default argument to closeAll is to leave all sockets open on the legacy transport layer (versus to close them on the actual interface header). 2. The thing we're checking for in shutdown is wrong. It's just that we've left recv in all db workers, rather than that we've left all client workers (so ASAN is occasionally unhappy about "leaks") 3. Tests rely on external callers to close sockets. when this contract changes, we take an extra 10 seconds to shut down every mongod, making some tests time out. Fix this by adding a counter for actual live workers, so we can track when it's safe to shutdown correctly. Also fix the typo |
| Comments |
| Comment by Githook User [ 23/Aug/16 ] |
|
Author: {u'username': u'hanumantmk', u'name': u'Jason Carey', u'email': u'jcarey@argv.me'}Message: During shutdown a number of things are currently happening that shouldn't be: 1. The legacy transport layer is failing to actually close sockets in closeAll. It's doing this 2. The thing we're checking for in shutdown is wrong. It's just that we've left recv in all db 3. Tests rely on external callers to close sockets. when this contract changes, we take an extra 10 Fix this by adding a counter for actual live workers, so we can track when it's safe to shutdown |
| Comment by Daniel Pasette (Inactive) [ 17/Aug/16 ] |
|
how many build failures are blocked on this issue? |