[SERVER-31062] Add more detailed diagnostics for rollback via refetch (rs_rollback.cpp) Created: 12/Sep/17  Updated: 30/Oct/23  Resolved: 14/Nov/17

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

Type: Task Priority: Major - P3
Reporter: William Schultz (Inactive) Assignee: William Schultz (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-21693 Log a rollback summary Closed
is related to SERVER-31255 certain sequence of collection and in... Closed
Backwards Compatibility: Fully Compatible
Sprint: Repl 2017-10-02, Repl 2017-10-23, Repl 2017-11-13, Repl 2017-12-04
Participants:
Linked BF Score: 0

 Description   

To facilitate general debugging and coverage metrics for randomized rollback testing, we should add additional logging into the rollback process that describes what is being done more comprehensively. This may include the following:

  • Details of every operation that is being rolled back (i.e. oplog entry)
  • A summarized version of the FixUpInfo struct after it has been populated
  • An easily machine readable count of how many operations of each type were rolled back (for randomized coverage metrics)
  • Improve the way common point timestamps are printed. Should be optime format as opposed to human readable date
  • Fix the way the count of refetched docs is computed. It prints the size of an std::unordered_map whose keys are UUIDs of collections, but it should be a count of documents.

These messages could be placed at a higher log level that we can enable in our tests.



 Comments   
Comment by Githook User [ 18/Oct/17 ]

Author:

{'email': 'judah@mongodb.com', 'name': 'Judah Schvimer', 'username': 'judahschvimer'}

Message: SERVER-31062 Added log messages before we do operations in rollback
Branch: master
https://github.com/mongodb/mongo/commit/0b23e5ab80c96a8c5b001a1a33c5d6099c48ef2b

Comment by Githook User [ 16/Oct/17 ]

Author:

{'email': 'william.schultz@mongodb.com', 'name': 'William Schultz', 'username': 'will62794'}

Message: SERVER-31062 Increase rollback unit test log verbosity
Branch: master
https://github.com/mongodb/mongo/commit/649009527527d82711fa1e67e8af66e0d8d4239f

Comment by Githook User [ 10/Oct/17 ]

Author:

{'email': 'william.schultz@mongodb.com', 'name': 'William Schultz', 'username': 'will62794'}

Message: SERVER-31062 Log every oplog entry that is going to be rolled back
Branch: master
https://github.com/mongodb/mongo/commit/bff808016529cefd9ddbea6e5a257efb4208db84

Comment by Judah Schvimer [ 26/Sep/17 ]

At every step in rollback we log what we did (example), but only after the fact. If there's an error while doing an operation like an fassert creating an index, it's not easy to tell what we were trying to do that failed. We should add a log before every operation so it's easier to see what went wrong when something does go wrong.

Generated at Thu Feb 08 04:25:52 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.