[SERVER-62655] Include the oplog window in FTDC Created: 14/Jan/22  Updated: 25/Jan/22  Resolved: 24/Jan/22

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Alex Bevilacqua Assignee: Judah Schvimer
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates SERVER-62941 Update FTDCServerStatusCommandCollect... Closed
Sprint: Replication 2022-02-07
Participants:

 Description   

Having a replSetHeartbeat command's ReplSetHeartbeatResponse include the node's oplog head time would allow oplog windows to be calculated from replSetGetStatus and as a result recorded in FTDC.

For example:

MongoDB Enterprise replset:SECONDARY> db.adminCommand({ replSetHeartbeat: "replset", configVersion: 6, from: "192.168.2.100:27019", term: 3 })
{
	"ok" : 1,
	"state" : 2,
	"v" : 6,
	"configTerm" : 3,
	"set" : "replset",
	"syncingTo" : "192.168.2.13:27018",
	"term" : NumberLong(3),
	"primaryId" : NumberLong(1),
	"durableOpTime" : {
		"ts" : Timestamp(1642177853, 1),
		"t" : NumberLong(3)
	},
	"durableWallTime" : ISODate("2022-01-14T16:30:53.341Z"),
	"opTime" : {
		"ts" : Timestamp(1642177853, 1),
		"t" : NumberLong(3)
	},
        /** Something like this maybe **/
        "oldestOpTime" : {
		"ts" : Timestamp(1642177853, 1),
		"t" : NumberLong(3)
	},
        /**********************************/
	"wallTime" : ISODate("2022-01-14T16:30:53.341Z"),
	"electable" : true,
	"$clusterTime" : {
		"clusterTime" : Timestamp(1642177853, 1),
		"signature" : {
			"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
			"keyId" : NumberLong(0)
		}
	},
	"operationTime" : Timestamp(1642177853, 1)
}



 Comments   
Comment by Alex Bevilacqua [ 24/Jan/22 ]

lingzhi.deng that is an EXCELLENT insight, and I totally forgot that existed. It may be sufficient to include oplog: 1 in the serverStatus command object the FTDCServerStatusCommandCollector builds, then updating associated tools to display the relevant delta as an oplog window.

judah.schvimer the priority of this is pretty low, but I think it may be sufficient to just update the FTDCServerStatusCommandCollector, which I've described in SERVER-62941.

I think this can be closed as the functionality may not be necessary.

Comment by Judah Schvimer [ 24/Jan/22 ]

alex.bevilacqua, thanks for the improvement request! Is adding this information to the heartbeat response desirable in and of itself, or is the desire to get it into FTDC and adding the info to the heartbeat response is a (very reasonable!) way to get it into replSetGetStatus and then FTDC? Like if we could include information about oplog windows in FTDC without putting this in the heartbeat response, would this address your use case?

Can you also please elaborate on the use case and priority of this request?

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