[SERVER-23829] Logs from mongos started by the mongo shell are prefixed with "sh" instead of "s" Created: 20/Apr/16 Updated: 02/Sep/16 Resolved: 18/Aug/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Shell |
| Affects Version/s: | None |
| Fix Version/s: | 3.3.12 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Dianna Hohensee (Inactive) | Assignee: | Matt Cotter |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Operating System: | ALL | ||||||||
| Sprint: | Platforms 2016-08-26 | ||||||||
| Participants: | |||||||||
| Linked BF Score: | 0 | ||||||||
| Description |
|
I think the "sh20014" here is supposed to be "s20014". The log might also be missing some logging: seeing a lock write being replicated on the config server secondaries, but not the original write to the config server primary. Example of "sh20014" doing the same checks "s20014" gets stuck on previously in the logs.
Logs are attached. The logs are coming from the new PPC machine, if that makes any difference. Evergreen links: multi_coll_drop.js - Logs | History |
| Comments |
| Comment by Githook User [ 18/Aug/16 ] | |||||||||||
|
Author: {u'username': u'Machyne', u'name': u'Matt Cotter', u'email': u'matt.cotter@mongodb.com'}Message: These names used to be stored in the registry in a map, but the | |||||||||||
| Comment by Kaloian Manassiev [ 20/Apr/16 ] | |||||||||||
|
I am going to create a new evergreen ticket then for the missing log lines. | |||||||||||
| Comment by Max Hirschhorn [ 20/Apr/16 ] | |||||||||||
|
I think it is possible to address this issue separately from We could then delete the remaining usages of the _programNames map from ProgramRegistry. | |||||||||||
| Comment by Max Hirschhorn [ 20/Apr/16 ] | |||||||||||
|
This is "just" a race condition in the way the ProgramRegistry and ProgramOutputMultiplexer work. If ProgramRegistry::deleteProgram() is called before all of the output from the program is emitted, then it'll end up using the "sh" prefix instead of the one that corresponds to the actual process. Until Note: The opposite race is documented here where ProgramRegistry::registerProgram() is called after the child process produces output. I think the comment is inaccurate because ProgramRunner::start() must return in order for ProgramRunner::operator()() to execute. | |||||||||||
| Comment by Kaloian Manassiev [ 20/Apr/16 ] | |||||||||||
|
To add a little bit more context to this ticket. While investigating sharding test failures we noticed that log lines are also missing in the output. Another example is this run. For example, these lines indicated that the enableSharding command failed for some reason, but we don't see the log line indicating that:
| |||||||||||
| Comment by Dianna Hohensee (Inactive) [ 20/Apr/16 ] | |||||||||||
|
Just added it to the end of the description. | |||||||||||
| Comment by Michael O'Brien [ 20/Apr/16 ] | |||||||||||
|
Can you link to the task that this came from? |