diff options
author | Benety Goh <benety@mongodb.com> | 2016-07-27 22:04:38 -0400 |
---|---|---|
committer | Benety Goh <benety@mongodb.com> | 2016-07-28 14:18:32 -0400 |
commit | 805d8fa04cb14760db93a146f8b371f0d3f70507 (patch) | |
tree | 6cfc6bab9e5497d22702b830e58dd6f147029e30 /src/mongo/db/repl/collection_bulk_loader_impl.cpp | |
parent | da26506b04372d8881288788c9eaa85f34fee671 (diff) | |
download | mongo-805d8fa04cb14760db93a146f8b371f0d3f70507.tar.gz |
SERVER-25084 collection bulk loader takes ownership of thread pool for task runner
Diffstat (limited to 'src/mongo/db/repl/collection_bulk_loader_impl.cpp')
-rw-r--r-- | src/mongo/db/repl/collection_bulk_loader_impl.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/mongo/db/repl/collection_bulk_loader_impl.cpp b/src/mongo/db/repl/collection_bulk_loader_impl.cpp index 2e83e4389ce..cf31132e024 100644 --- a/src/mongo/db/repl/collection_bulk_loader_impl.cpp +++ b/src/mongo/db/repl/collection_bulk_loader_impl.cpp @@ -53,10 +53,12 @@ namespace repl { CollectionBulkLoaderImpl::CollectionBulkLoaderImpl(OperationContext* txn, Collection* coll, const BSONObj idIndexSpec, + std::unique_ptr<OldThreadPool> threadPool, std::unique_ptr<TaskRunner> runner, std::unique_ptr<AutoGetOrCreateDb> autoDb, std::unique_ptr<AutoGetCollection> autoColl) - : _runner(std::move(runner)), + : _threadPool(std::move(threadPool)), + _runner(std::move(runner)), _autoColl(std::move(autoColl)), _autoDB(std::move(autoDb)), _txn(txn), @@ -75,7 +77,11 @@ CollectionBulkLoaderImpl::CollectionBulkLoaderImpl(OperationContext* txn, } CollectionBulkLoaderImpl::~CollectionBulkLoaderImpl() { - DESTRUCTOR_GUARD(_runner->cancel();) + DESTRUCTOR_GUARD({ + _runner->cancel(); + _runner->join(); + _threadPool->join(); + }) } Status CollectionBulkLoaderImpl::init(OperationContext* txn, |