[SERVER-19127] unittest::Test::stopCapturingLogMessages has a sometimes fatal race condition Created: 25/Jun/15 Updated: 25/Jan/17 Resolved: 25/Jun/15 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Testing Infrastructure |
| Affects Version/s: | None |
| Fix Version/s: | 3.1.5 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Andy Schwerin | Assignee: | Andy Schwerin |
| 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 | ||||
| Sprint: | Sharding 5 06/26/16 | ||||
| Participants: | |||||
| Linked BF Score: | 0 | ||||
| Description |
|
The unittest framework offers a facility for capturing log lines for analysis. That framework is not thread safe. The contract for appenders in the logging system is that they must be internally synchronized, and furthermore, the process of attaching and detaching appenders must be externally synchronized. Tests that use this facility and also launch multiple threads can crash if the log capture process is disabled while logging is happening, or if several threads are logging at once. Both of these problems should be mitigated. |
| Comments |
| Comment by Githook User [ 25/Jun/15 ] |
|
Author: {u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}Message: The approach of this fix is to first make the appender for capturing log lines |