[SERVER-62941] Update FTDCServerStatusCommandCollector to include oplog metrics from serverStatus command Created: 24/Jan/22  Updated: 29/Oct/23  Resolved: 19/Apr/22

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 6.0.0-rc2, 5.0.9, 4.4.15, 6.1.0-rc0

Type: Improvement Priority: Major - P3
Reporter: Alex Bevilacqua Assignee: Gabriel Marks
Resolution: Fixed Votes: 0
Labels: former-quick-wins, ftdc
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Duplicate
is duplicated by SERVER-62655 Include the oplog window in FTDC Closed
Related
Backwards Compatibility: Fully Compatible
Backport Requested:
v6.0, v5.0, v4.4, v4.2
Sprint: Security 2022-04-18, Security 2022-05-02
Participants:

 Description   

When the commandBuilder of the FTDCServerStatusCommandCollector is creating the serverStatus command an additional oplog: 1 filter should be appended.

This will include OplogInfoServerStatus which contains both earliestOptime and latestOptime that could be used to calculate oplog windows in tooling that parses FTDC.



 Comments   
Comment by Githook User [ 27/Apr/22 ]

Author:

{'name': 'Gabriel Marks', 'email': 'gabriel.marks@mongodb.com', 'username': 'marksg07'}

Message: SERVER-62941 Add oplog server status to FTDC
Branch: v5.0
https://github.com/mongodb/mongo/commit/c997350d15e372d75528a1d65694242ed53833ee

Comment by Githook User [ 27/Apr/22 ]

Author:

{'name': 'Gabriel Marks', 'email': 'gabriel.marks@mongodb.com', 'username': 'marksg07'}

Message: SERVER-62941 Add oplog server status to FTDC
Branch: v4.4
https://github.com/mongodb/mongo/commit/c3a1283b77ac3852a30c9a5c7069c8b2e3f30a8c

Comment by Githook User [ 26/Apr/22 ]

Author:

{'name': 'Gabriel Marks', 'email': 'gabriel.marks@mongodb.com', 'username': 'marksg07'}

Message: SERVER-62941 Add oplog server status to FTDC
Branch: v6.0
https://github.com/mongodb/mongo/commit/72560925f44955eb39f544df134d83ef271bd0f8

Comment by Githook User [ 19/Apr/22 ]

Author:

{'name': 'Gabriel Marks', 'email': 'gabriel.marks@mongodb.com', 'username': 'marksg07'}

Message: SERVER-62941 Add oplog server status to FTDC
Branch: master
https://github.com/mongodb/mongo/commit/6974c916418009e8e10041fe6fc3ee57fed2504b

Comment by Mark Benvenuto [ 26/Jan/22 ]

judah.schvimer It should be okay to just take an intent lock. In FTDC, we try to minimize the chance it will have block for any significant time. We don't want it to get stuck for seconds at a time for instance. We set various flags to minimize that (https://github.com/mongodb/mongo/blob/d2b21149224344ac9ebbed560caeecfa96eeb613/src/mongo/db/ftdc/collector.cpp#L66-L75).

Comment by Judah Schvimer [ 25/Jan/22 ]

Here is where we run the collStats command. We use "waitForLock: false" which I think means that if we can't get the lock we just skip it. Doing something like this should be fine. mark.benvenuto, do you see any problem with this request and taking an intent lock on the oplog during FTDC serverStatus collection?

Comment by Bruce Lucas (Inactive) [ 25/Jan/22 ]

Currently we include WT storage engine metrics which requires accessing the storage engine, and also collStats for the oplog which also accesses the storage engine and I think takes locks? Would this ticket add any more opportunities for blocking FTDC?

Comment by Judah Schvimer [ 24/Jan/22 ]

One concern here is that the oplog serverStatus component takes locks and reads from the storage engine. I'm not sure if this is acceptable. bruce.lucas, do you have any insight here?

Generated at Thu Feb 08 05:56:29 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.