diff options
author | Jack Mulrow <jack.mulrow@mongodb.com> | 2017-08-16 18:07:02 -0400 |
---|---|---|
committer | Jack Mulrow <jack.mulrow@mongodb.com> | 2017-08-23 12:41:47 -0400 |
commit | c1e7921e9d69bd9a37761deb58d119a324341a54 (patch) | |
tree | 86e7fb3084d9aea2f08263f261474c1163de15cc /src/mongo/db/repl/rs_rollback.h | |
parent | ee6a79935e98b4a12bc74cb385e7d5f62633347e (diff) | |
download | mongo-c1e7921e9d69bd9a37761deb58d119a324341a54.tar.gz |
SERVER-30508 Fail rollback via refetch if transactions collection UUID is different on sync source
Diffstat (limited to 'src/mongo/db/repl/rs_rollback.h')
-rw-r--r-- | src/mongo/db/repl/rs_rollback.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mongo/db/repl/rs_rollback.h b/src/mongo/db/repl/rs_rollback.h index 74d59ae3c8f..d4e4015f279 100644 --- a/src/mongo/db/repl/rs_rollback.h +++ b/src/mongo/db/repl/rs_rollback.h @@ -371,6 +371,19 @@ private: * to be reverted. */ Status updateFixUpInfoFromLocalOplogEntry(FixUpInfo& fixUpInfo, const BSONObj& ourObj); + +/** + * This function uses the FixUpInfo struct to undo all of the operations that occurred after the + * common point on the rolling back node, checking the rollback ID and updating minValid as + * necessary. This includes refetching, updating, and deleting individual documents, resyncing + * collection data and metadata, and dropping and creating collections and indexes. Truncates the + * oplog and triggers necessary in-memory refreshes before returning. + */ +void syncFixUp(OperationContext* opCtx, + const FixUpInfo& fixUpInfo, + const RollbackSource& rollbackSource, + ReplicationCoordinator* replCoord, + ReplicationProcess* replicationProcess); } // namespace rollback_internal } // namespace repl } // namespace mongo |