diff options
Diffstat (limited to 'src/mongo/db/serverless')
5 files changed, 15 insertions, 7 deletions
diff --git a/src/mongo/db/serverless/SConscript b/src/mongo/db/serverless/SConscript index ad92d014d37..a3151a9da15 100644 --- a/src/mongo/db/serverless/SConscript +++ b/src/mongo/db/serverless/SConscript @@ -51,6 +51,7 @@ env.Library( 'shard_split_utils.cpp' ], LIBDEPS_PRIVATE=[ + '$BUILD_DIR/mongo/db/concurrency/exception_util', '$BUILD_DIR/mongo/db/dbhelpers', '$BUILD_DIR/mongo/db/repl/replica_set_messages', 'shard_split_state_machine', @@ -70,6 +71,7 @@ env.Library( ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/catalog/local_oplog_info', + '$BUILD_DIR/mongo/db/concurrency/exception_util', '$BUILD_DIR/mongo/db/db_raii', '$BUILD_DIR/mongo/db/dbhelpers', '$BUILD_DIR/mongo/db/namespace_string', diff --git a/src/mongo/db/serverless/shard_split_donor_op_observer.h b/src/mongo/db/serverless/shard_split_donor_op_observer.h index 55796479ffe..d8b607db6df 100644 --- a/src/mongo/db/serverless/shard_split_donor_op_observer.h +++ b/src/mongo/db/serverless/shard_split_donor_op_observer.h @@ -204,6 +204,10 @@ public: size_t numberOfPrePostImagesToWrite, Date_t wallClockTime) final {} + void onTransactionPrepareNonPrimary(OperationContext* opCtx, + const std::vector<repl::OplogEntry>& statements, + const repl::OpTime& prepareOpTime) final {} + void onTransactionAbort(OperationContext* opCtx, boost::optional<OplogSlot> abortOplogEntryOpTime) final {} diff --git a/src/mongo/db/serverless/shard_split_donor_service.cpp b/src/mongo/db/serverless/shard_split_donor_service.cpp index 633fc00e974..7b15d250450 100644 --- a/src/mongo/db/serverless/shard_split_donor_service.cpp +++ b/src/mongo/db/serverless/shard_split_donor_service.cpp @@ -33,7 +33,7 @@ #include "mongo/db/serverless/shard_split_donor_service.h" #include "mongo/client/streamable_replica_set_monitor.h" #include "mongo/db/catalog_raii.h" -#include "mongo/db/concurrency/write_conflict_exception.h" +#include "mongo/db/concurrency/exception_util.h" #include "mongo/db/dbdirectclient.h" #include "mongo/db/dbhelpers.h" #include "mongo/db/repl/repl_client_info.h" diff --git a/src/mongo/db/serverless/shard_split_donor_service_test.cpp b/src/mongo/db/serverless/shard_split_donor_service_test.cpp index 2d44ded9b7a..bb2bc95a2f8 100644 --- a/src/mongo/db/serverless/shard_split_donor_service_test.cpp +++ b/src/mongo/db/serverless/shard_split_donor_service_test.cpp @@ -324,7 +324,7 @@ void processHelloRequest(executor::NetworkInterfaceMock* net, MockReplicaSet* re auto noi = net->getNextReadyRequest(); auto request = noi->getRequest(); - assertRemoteCommandNameEquals("isMaster", request); + assertRemoteCommandNameEquals("hello", request); auto requestHost = request.target.toString(); const auto node = replSet->getNode(requestHost); if (node->isRunning()) { @@ -597,7 +597,8 @@ TEST(RecipientAcceptSplitListenerTest, FutureReady) { ASSERT_FALSE(listener.getFuture().isReady()); listener.onServerHeartbeatSucceededEvent( - donor.getHosts().front(), BSON("setName" << donor.getSetName() << "ismaster" << true)); + donor.getHosts().front(), + BSON("setName" << donor.getSetName() << "isWritablePrimary" << true)); ASSERT_TRUE(listener.getFuture().isReady()); } @@ -618,7 +619,8 @@ TEST(RecipientAcceptSplitListenerTest, FutureReadyNameChange) { listener.onServerHeartbeatSucceededEvent(host, BSON("setName" << donor.getSetName())); } listener.onServerHeartbeatSucceededEvent( - donor.getHosts().front(), BSON("setName" << donor.getSetName() << "ismaster" << true)); + donor.getHosts().front(), + BSON("setName" << donor.getSetName() << "isWritablePrimary" << true)); ASSERT_TRUE(listener.getFuture().isReady()); } @@ -640,7 +642,7 @@ TEST(RecipientAcceptSplitListenerTest, FutureNotReadyMissingNodes) { ASSERT_FALSE(listener.getFuture().isReady()); donor.setPrimary(donor.getHosts()[0].host()); listener.onServerHeartbeatSucceededEvent( - donor.getHosts()[0], BSON("setName" << donor.getSetName() << "ismaster" << true)); + donor.getHosts()[0], BSON("setName" << donor.getSetName() << "isWritablePrimary" << true)); ASSERT_TRUE(listener.getFuture().isReady()); } diff --git a/src/mongo/db/serverless/shard_split_utils.cpp b/src/mongo/db/serverless/shard_split_utils.cpp index 0af9ccc6195..2380f9bb427 100644 --- a/src/mongo/db/serverless/shard_split_utils.cpp +++ b/src/mongo/db/serverless/shard_split_utils.cpp @@ -29,8 +29,8 @@ #include "mongo/db/serverless/shard_split_utils.h" #include "mongo/db/catalog_raii.h" +#include "mongo/db/concurrency/exception_util.h" #include "mongo/db/concurrency/lock_manager_defs.h" -#include "mongo/db/concurrency/write_conflict_exception.h" #include "mongo/db/db_raii.h" #include "mongo/db/dbhelpers.h" #include "mongo/db/ops/delete.h" @@ -279,7 +279,7 @@ void RecipientAcceptSplitListener::onServerHeartbeatSucceededEvent(const HostAnd _reportedSetNames[hostAndPort] = reply["setName"].str(); - if (!_hasPrimary && reply["ismaster"].booleanSafe()) { + if (!_hasPrimary && reply["isWritablePrimary"].booleanSafe()) { _hasPrimary = true; } |
