diff options
author | Kaloian Manassiev <kaloian.manassiev@mongodb.com> | 2017-06-23 17:35:55 -0400 |
---|---|---|
committer | Kaloian Manassiev <kaloian.manassiev@mongodb.com> | 2017-06-28 09:13:53 -0400 |
commit | 81a5d9d5a67c7036ce241368c66ffa4d49bd8d37 (patch) | |
tree | 68ad9fdff2bd91ef405836aa862591efc7d69522 /src/mongo/db/repl | |
parent | 0ab7f732e0bee535383dd6dcda400999a1eee6b2 (diff) | |
download | mongo-81a5d9d5a67c7036ce241368c66ffa4d49bd8d37.tar.gz |
SERVER-29875 Install SessionsTransactionTable on the ServiceContext
Also hooks it with the replication subsystem and ensures the collection is
created on promotion to primary.
Diffstat (limited to 'src/mongo/db/repl')
-rw-r--r-- | src/mongo/db/repl/SConscript | 41 | ||||
-rw-r--r-- | src/mongo/db/repl/replication_coordinator_external_state_impl.cpp | 3 |
2 files changed, 24 insertions, 20 deletions
diff --git a/src/mongo/db/repl/SConscript b/src/mongo/db/repl/SConscript index 4745ed48426..f44ca19e037 100644 --- a/src/mongo/db/repl/SConscript +++ b/src/mongo/db/repl/SConscript @@ -1450,37 +1450,38 @@ env.Library( "sync_source_feedback.cpp", ], LIBDEPS=[ - 'bgsync', - 'drop_pending_collection_reaper', - 'rollback_source_impl', - 'oplog_buffer_collection', - 'oplog_interface_remote', - 'optime', - 'repl_coordinator_interface', - 'repl_coordinator_impl', - 'repl_settings', - 'replication_consistency_markers_impl', - 'replication_process', - 'sync_tail', '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/client/clientdriver', '$BUILD_DIR/mongo/db/auth/authcore', + '$BUILD_DIR/mongo/db/cloner', '$BUILD_DIR/mongo/db/commands/dcommands_fcv', - '$BUILD_DIR/mongo/db/commands/server_status', - '$BUILD_DIR/mongo/db/logical_clock', - '$BUILD_DIR/mongo/db/logical_time', '$BUILD_DIR/mongo/db/commands/list_collections_filter', - '$BUILD_DIR/mongo/rpc/client_metadata', + '$BUILD_DIR/mongo/db/commands/server_status', '$BUILD_DIR/mongo/db/concurrency/lock_manager', '$BUILD_DIR/mongo/db/curop', + '$BUILD_DIR/mongo/db/index_d', '$BUILD_DIR/mongo/db/lasterror', + '$BUILD_DIR/mongo/db/logical_clock', + '$BUILD_DIR/mongo/db/logical_time', '$BUILD_DIR/mongo/db/query/query', + '$BUILD_DIR/mongo/db/repair_database', + '$BUILD_DIR/mongo/db/repl/oplog_buffer_proxy', '$BUILD_DIR/mongo/db/s/balancer', '$BUILD_DIR/mongo/db/service_context', + '$BUILD_DIR/mongo/db/session_transactions', '$BUILD_DIR/mongo/db/stats/counters', - '$BUILD_DIR/mongo/db/repl/oplog_buffer_proxy', - '$BUILD_DIR/mongo/db/cloner', - '$BUILD_DIR/mongo/db/index_d', - '$BUILD_DIR/mongo/db/repair_database', + '$BUILD_DIR/mongo/rpc/client_metadata', + 'bgsync', + 'drop_pending_collection_reaper', + 'oplog_buffer_collection', + 'oplog_interface_remote', + 'optime', + 'repl_coordinator_impl', + 'repl_coordinator_interface', + 'repl_settings', + 'replication_consistency_markers_impl', + 'replication_process', + 'rollback_source_impl', + 'sync_tail', ], ) diff --git a/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp b/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp index e92921ab55a..4d328f5f1de 100644 --- a/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp +++ b/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp @@ -74,6 +74,7 @@ #include "mongo/db/server_options.h" #include "mongo/db/server_parameters.h" #include "mongo/db/service_context.h" +#include "mongo/db/session_transaction_table.h" #include "mongo/db/storage/storage_engine.h" #include "mongo/executor/network_connection_hook.h" #include "mongo/executor/network_interface.h" @@ -798,6 +799,8 @@ void ReplicationCoordinatorExternalStateImpl::_shardingOnTransitionToPrimaryHook Grid::get(_service)->catalogCache()->onStepUp(); } + SessionTransactionTable::get(_service)->onStepUp(opCtx); + // There is a slight chance that some stale metadata might have been loaded before the latest // optime has been recovered, so throw out everything that we have up to now ShardingState::get(opCtx)->markCollectionsNotShardedAtStepdown(); |