[SERVER-36665] Free Monitoring registration and metrics pings are incomplete for uninitialized repl set members Created: 14/Aug/18 Updated: 06/Dec/22 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Duncan Armstrong | Assignee: | Backlog - Security Team |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Server Security
|
| Operating System: | ALL |
| Steps To Reproduce: | 1. Start an instance: mongod --replSet=stuff [...] |
| Participants: |
| Description |
|
When a mongod is started with --replSet=blah but rs.initialize() hasn't been called yet, both the register request and the metrics request have missing/broken values, though in different ways: On register request, the IsMaster struct is missing all host/hostname values, eg.:
(The missing values are pretty reasonable for an uninitialized repl set member - except I'd expect HostPort to have something.) On metrics pings, a number of the discovery structs are nil altogether, eg.:
This "weird" state persists until rs.initialize() is called (you can even restart it and still see these weird payloads), at which point everything seems to snap into place and all is well. Note: we've worked around both of these issues in CLOUDP-31606 and CLOUDP-31813, so this isn't a massively high priority from our perspective, but it might indicate issues worth addressing from your perspective? |
| Comments |
| Comment by Mark Benvenuto [ 21/Aug/18 ] |
|
I have added this work to PM-1235. When the project gets scheduled, we will look into the work. |
| Comment by Duncan Armstrong [ 14/Aug/18 ] |