diff options
author | Benety Goh <benety@mongodb.com> | 2019-09-13 15:33:08 +0000 |
---|---|---|
committer | evergreen <evergreen@mongodb.com> | 2019-09-13 15:33:08 +0000 |
commit | b5c38b96c50e13be68a5a6968b441a879c0a3c53 (patch) | |
tree | 137f164aa2ce81dacbaf18aeb1d832c43b284e6f | |
parent | e3c2f4e388b8278534a1bb5cfc58ae5d79b9b7e7 (diff) | |
download | mongo-b5c38b96c50e13be68a5a6968b441a879c0a3c53.tar.gz |
SERVER-43315 OpObserver::onAbortIndexBuild() accepts reason for aborting index as a Status
-rw-r--r-- | src/mongo/db/auth/auth_op_observer.h | 1 | ||||
-rw-r--r-- | src/mongo/db/free_mon/free_mon_op_observer.h | 1 | ||||
-rw-r--r-- | src/mongo/db/index_builds_coordinator.cpp | 1 | ||||
-rw-r--r-- | src/mongo/db/op_observer.h | 1 | ||||
-rw-r--r-- | src/mongo/db/op_observer_impl.cpp | 1 | ||||
-rw-r--r-- | src/mongo/db/op_observer_impl.h | 1 | ||||
-rw-r--r-- | src/mongo/db/op_observer_impl_test.cpp | 4 | ||||
-rw-r--r-- | src/mongo/db/op_observer_noop.h | 1 | ||||
-rw-r--r-- | src/mongo/db/op_observer_registry.h | 3 | ||||
-rw-r--r-- | src/mongo/db/s/config_server_op_observer.h | 1 | ||||
-rw-r--r-- | src/mongo/db/s/shard_server_op_observer.h | 1 |
11 files changed, 14 insertions, 2 deletions
diff --git a/src/mongo/db/auth/auth_op_observer.h b/src/mongo/db/auth/auth_op_observer.h index 3e91a9c9884..931cb7e0747 100644 --- a/src/mongo/db/auth/auth_op_observer.h +++ b/src/mongo/db/auth/auth_op_observer.h @@ -70,6 +70,7 @@ public: CollectionUUID collUUID, const UUID& indexBuildUUID, const std::vector<BSONObj>& indexes, + const Status& cause, bool fromMigrate) final {} void onInserts(OperationContext* opCtx, diff --git a/src/mongo/db/free_mon/free_mon_op_observer.h b/src/mongo/db/free_mon/free_mon_op_observer.h index 7b17ebd014b..00c565d0dea 100644 --- a/src/mongo/db/free_mon/free_mon_op_observer.h +++ b/src/mongo/db/free_mon/free_mon_op_observer.h @@ -70,6 +70,7 @@ public: CollectionUUID collUUID, const UUID& indexBuildUUID, const std::vector<BSONObj>& indexes, + const Status& cause, bool fromMigrate) final {} void onInserts(OperationContext* opCtx, diff --git a/src/mongo/db/index_builds_coordinator.cpp b/src/mongo/db/index_builds_coordinator.cpp index 55ee47396b5..d4e6da3ba2b 100644 --- a/src/mongo/db/index_builds_coordinator.cpp +++ b/src/mongo/db/index_builds_coordinator.cpp @@ -876,6 +876,7 @@ void IndexBuildsCoordinator::_runIndexBuildInner(OperationContext* opCtx, collUUID, replState->buildUUID, replState->indexSpecs, + status, fromMigrate); }); } diff --git a/src/mongo/db/op_observer.h b/src/mongo/db/op_observer.h index 85847e698ef..acb478fc68c 100644 --- a/src/mongo/db/op_observer.h +++ b/src/mongo/db/op_observer.h @@ -113,6 +113,7 @@ public: CollectionUUID collUUID, const UUID& indexBuildUUID, const std::vector<BSONObj>& indexes, + const Status& cause, bool fromMigrate) = 0; virtual void onInserts(OperationContext* opCtx, diff --git a/src/mongo/db/op_observer_impl.cpp b/src/mongo/db/op_observer_impl.cpp index 2ccfa6fa5dc..3a390afc134 100644 --- a/src/mongo/db/op_observer_impl.cpp +++ b/src/mongo/db/op_observer_impl.cpp @@ -311,6 +311,7 @@ void OpObserverImpl::onAbortIndexBuild(OperationContext* opCtx, CollectionUUID collUUID, const UUID& indexBuildUUID, const std::vector<BSONObj>& indexes, + const Status& cause, bool fromMigrate) { BSONObjBuilder oplogEntryBuilder; oplogEntryBuilder.append("abortIndexBuild", nss.coll()); diff --git a/src/mongo/db/op_observer_impl.h b/src/mongo/db/op_observer_impl.h index bebd01101fc..1a512eb7f3a 100644 --- a/src/mongo/db/op_observer_impl.h +++ b/src/mongo/db/op_observer_impl.h @@ -66,6 +66,7 @@ public: CollectionUUID collUUID, const UUID& indexBuildUUID, const std::vector<BSONObj>& indexes, + const Status& cause, bool fromMigrate) final; void onInserts(OperationContext* opCtx, diff --git a/src/mongo/db/op_observer_impl_test.cpp b/src/mongo/db/op_observer_impl_test.cpp index 6569b33bf1e..c000abe4d52 100644 --- a/src/mongo/db/op_observer_impl_test.cpp +++ b/src/mongo/db/op_observer_impl_test.cpp @@ -207,11 +207,13 @@ TEST_F(OpObserverTest, AbortIndexBuildExpectedOplogEntry) { std::vector<BSONObj> specs = {specX, specA}; // Write to the oplog. + Status cause(ErrorCodes::OperationFailed, "index build failed"); { AutoGetDb autoDb(opCtx.get(), nss.db(), MODE_X); WriteUnitOfWork wunit(opCtx.get()); + auto fromMigrate = false; opObserver.onAbortIndexBuild( - opCtx.get(), nss, uuid, indexBuildUUID, specs, false /*fromMigrate*/); + opCtx.get(), nss, uuid, indexBuildUUID, specs, cause, fromMigrate); wunit.commit(); } diff --git a/src/mongo/db/op_observer_noop.h b/src/mongo/db/op_observer_noop.h index 6c72a04aa25..b45fe089338 100644 --- a/src/mongo/db/op_observer_noop.h +++ b/src/mongo/db/op_observer_noop.h @@ -60,6 +60,7 @@ public: CollectionUUID collUUID, const UUID& indexBuildUUID, const std::vector<BSONObj>& indexes, + const Status& cause, bool fromMigrate) override {} void onInserts(OperationContext* opCtx, diff --git a/src/mongo/db/op_observer_registry.h b/src/mongo/db/op_observer_registry.h index a930b9aa608..12370e0b561 100644 --- a/src/mongo/db/op_observer_registry.h +++ b/src/mongo/db/op_observer_registry.h @@ -97,10 +97,11 @@ public: CollectionUUID collUUID, const UUID& indexBuildUUID, const std::vector<BSONObj>& indexes, + const Status& cause, bool fromMigrate) override { ReservedTimes times{opCtx}; for (auto& o : _observers) { - o->onAbortIndexBuild(opCtx, nss, collUUID, indexBuildUUID, indexes, fromMigrate); + o->onAbortIndexBuild(opCtx, nss, collUUID, indexBuildUUID, indexes, cause, fromMigrate); } } diff --git a/src/mongo/db/s/config_server_op_observer.h b/src/mongo/db/s/config_server_op_observer.h index bf804fbf6c4..89c420b356c 100644 --- a/src/mongo/db/s/config_server_op_observer.h +++ b/src/mongo/db/s/config_server_op_observer.h @@ -70,6 +70,7 @@ public: CollectionUUID collUUID, const UUID& indexBuildUUID, const std::vector<BSONObj>& indexes, + const Status& cause, bool fromMigrate) override {} void onInserts(OperationContext* opCtx, diff --git a/src/mongo/db/s/shard_server_op_observer.h b/src/mongo/db/s/shard_server_op_observer.h index 339f5968bf8..08822c4e33a 100644 --- a/src/mongo/db/s/shard_server_op_observer.h +++ b/src/mongo/db/s/shard_server_op_observer.h @@ -71,6 +71,7 @@ public: CollectionUUID collUUID, const UUID& indexBuildUUID, const std::vector<BSONObj>& indexes, + const Status& cause, bool fromMigrate) override {} void onInserts(OperationContext* opCtx, |