[SERVER-34175] RollbackImpl::_summarizeRollback() should not throw Created: 28/Mar/18  Updated: 29/Mar/18  Resolved: 29/Mar/18

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

Type: Bug Priority: Major - P3
Reporter: Kyle Suarez Assignee: Kyle Suarez
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
Operating System: ALL
Sprint: Repl 2018-04-09
Participants:
Linked BF Score: 60

 Description   

When RollbackImpl::runRollback() exits, we log a rollback summary by calling RollbackImpl::_summarizeRollback() within an ON_BLOCK_EXIT scope guard. This method calls OplogInterfaceRemote::toString(), which can throw if the remote host is unreachable. The uncaught exception then triggers a std::terminate.

The failure manifests as a hang when running rollback_with_socket_error_then_steady_state.js in the replica_sets_auth suite.



 Comments   
Comment by Kyle Suarez [ 29/Mar/18 ]

Rather than wrapping in a try-catch, we're just going to add a new way to introspect the HostAndPort of the server on the OplogInterface. See SERVER-21693

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