summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/recoverable_critical_section_service.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/s/recoverable_critical_section_service.h')
-rw-r--r--src/mongo/db/s/recoverable_critical_section_service.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/mongo/db/s/recoverable_critical_section_service.h b/src/mongo/db/s/recoverable_critical_section_service.h
index f4d7f94820a..3452cb0ede7 100644
--- a/src/mongo/db/s/recoverable_critical_section_service.h
+++ b/src/mongo/db/s/recoverable_critical_section_service.h
@@ -37,6 +37,12 @@
namespace mongo {
+namespace recoverable_critical_section_util {
+
+bool inRecoveryMode(OperationContext* opCtx);
+
+}
+
class RecoverableCriticalSectionService
: public ReplicaSetAwareServiceShardSvr<RecoverableCriticalSectionService> {
@@ -98,10 +104,15 @@ public:
void recoverRecoverableCriticalSections(OperationContext* opCtx);
private:
- void onStartup(OperationContext* opCtx) override final {
+ void onStartupRecoveryComplete(OperationContext* opCtx) override final {
+ recoverRecoverableCriticalSections(opCtx);
+ }
+
+ void onInitialSyncComplete(OperationContext* opCtx) override final {
recoverRecoverableCriticalSections(opCtx);
}
+ void onStartup(OperationContext* opCtx) override final {}
void onShutdown() override final {}
void onStepUpBegin(OperationContext* opCtx, long long term) override final {}
void onStepUpComplete(OperationContext* opCtx, long long term) override final {}