diff options
Diffstat (limited to 'src/mongo/dbtests/rollbacktests.cpp')
-rw-r--r-- | src/mongo/dbtests/rollbacktests.cpp | 432 |
1 files changed, 216 insertions, 216 deletions
diff --git a/src/mongo/dbtests/rollbacktests.cpp b/src/mongo/dbtests/rollbacktests.cpp index b842eb5a9bc..27982080d36 100644 --- a/src/mongo/dbtests/rollbacktests.cpp +++ b/src/mongo/dbtests/rollbacktests.cpp @@ -50,13 +50,13 @@ namespace RollbackTests { namespace { const auto kIndexVersion = IndexDescriptor::IndexVersion::kV2; -void dropDatabase(OperationContext* txn, const NamespaceString& nss) { - ScopedTransaction transaction(txn, MODE_X); - Lock::GlobalWrite globalWriteLock(txn->lockState()); - Database* db = dbHolder().get(txn, nss.db()); +void dropDatabase(OperationContext* opCtx, const NamespaceString& nss) { + ScopedTransaction transaction(opCtx, MODE_X); + Lock::GlobalWrite globalWriteLock(opCtx->lockState()); + Database* db = dbHolder().get(opCtx, nss.db()); if (db) { - Database::dropDatabase(txn, db); + Database::dropDatabase(opCtx, db); } } bool collectionExists(OldClientContext* ctx, const string& ns) { @@ -65,38 +65,38 @@ bool collectionExists(OldClientContext* ctx, const string& ns) { dbEntry->getCollectionNamespaces(&names); return std::find(names.begin(), names.end(), ns) != names.end(); } -void createCollection(OperationContext* txn, const NamespaceString& nss) { - ScopedTransaction transaction(txn, MODE_IX); - Lock::DBLock dbXLock(txn->lockState(), nss.db(), MODE_X); - OldClientContext ctx(txn, nss.ns()); +void createCollection(OperationContext* opCtx, const NamespaceString& nss) { + ScopedTransaction transaction(opCtx, MODE_IX); + Lock::DBLock dbXLock(opCtx->lockState(), nss.db(), MODE_X); + OldClientContext ctx(opCtx, nss.ns()); { - WriteUnitOfWork uow(txn); + WriteUnitOfWork uow(opCtx); ASSERT(!collectionExists(&ctx, nss.ns())); - ASSERT_OK(userCreateNS(txn, ctx.db(), nss.ns(), BSONObj(), false)); + ASSERT_OK(userCreateNS(opCtx, ctx.db(), nss.ns(), BSONObj(), false)); ASSERT(collectionExists(&ctx, nss.ns())); uow.commit(); } } -Status renameCollection(OperationContext* txn, +Status renameCollection(OperationContext* opCtx, const NamespaceString& source, const NamespaceString& target) { ASSERT_EQ(source.db(), target.db()); - Database* db = dbHolder().get(txn, source.db()); - return db->renameCollection(txn, source.ns(), target.ns(), false); + Database* db = dbHolder().get(opCtx, source.db()); + return db->renameCollection(opCtx, source.ns(), target.ns(), false); } -Status truncateCollection(OperationContext* txn, const NamespaceString& nss) { - Collection* coll = dbHolder().get(txn, nss.db())->getCollection(nss.ns()); - return coll->truncate(txn); +Status truncateCollection(OperationContext* opCtx, const NamespaceString& nss) { + Collection* coll = dbHolder().get(opCtx, nss.db())->getCollection(nss.ns()); + return coll->truncate(opCtx); } -void insertRecord(OperationContext* txn, const NamespaceString& nss, const BSONObj& data) { - Collection* coll = dbHolder().get(txn, nss.db())->getCollection(nss.ns()); +void insertRecord(OperationContext* opCtx, const NamespaceString& nss, const BSONObj& data) { + Collection* coll = dbHolder().get(opCtx, nss.db())->getCollection(nss.ns()); OpDebug* const nullOpDebug = nullptr; - ASSERT_OK(coll->insertDocument(txn, data, nullOpDebug, false)); + ASSERT_OK(coll->insertDocument(opCtx, data, nullOpDebug, false)); } -void assertOnlyRecord(OperationContext* txn, const NamespaceString& nss, const BSONObj& data) { - Collection* coll = dbHolder().get(txn, nss.db())->getCollection(nss.ns()); - auto cursor = coll->getCursor(txn); +void assertOnlyRecord(OperationContext* opCtx, const NamespaceString& nss, const BSONObj& data) { + Collection* coll = dbHolder().get(opCtx, nss.db())->getCollection(nss.ns()); + auto cursor = coll->getCursor(opCtx); auto record = cursor->next(); ASSERT(record); @@ -104,29 +104,29 @@ void assertOnlyRecord(OperationContext* txn, const NamespaceString& nss, const B ASSERT(!cursor->next()); } -void assertEmpty(OperationContext* txn, const NamespaceString& nss) { - Collection* coll = dbHolder().get(txn, nss.db())->getCollection(nss.ns()); - ASSERT(!coll->getCursor(txn)->next()); +void assertEmpty(OperationContext* opCtx, const NamespaceString& nss) { + Collection* coll = dbHolder().get(opCtx, nss.db())->getCollection(nss.ns()); + ASSERT(!coll->getCursor(opCtx)->next()); } -bool indexExists(OperationContext* txn, const NamespaceString& nss, const string& idxName) { - Collection* coll = dbHolder().get(txn, nss.db())->getCollection(nss.ns()); - return coll->getIndexCatalog()->findIndexByName(txn, idxName, true) != NULL; +bool indexExists(OperationContext* opCtx, const NamespaceString& nss, const string& idxName) { + Collection* coll = dbHolder().get(opCtx, nss.db())->getCollection(nss.ns()); + return coll->getIndexCatalog()->findIndexByName(opCtx, idxName, true) != NULL; } -bool indexReady(OperationContext* txn, const NamespaceString& nss, const string& idxName) { - Collection* coll = dbHolder().get(txn, nss.db())->getCollection(nss.ns()); - return coll->getIndexCatalog()->findIndexByName(txn, idxName, false) != NULL; +bool indexReady(OperationContext* opCtx, const NamespaceString& nss, const string& idxName) { + Collection* coll = dbHolder().get(opCtx, nss.db())->getCollection(nss.ns()); + return coll->getIndexCatalog()->findIndexByName(opCtx, idxName, false) != NULL; } -size_t getNumIndexEntries(OperationContext* txn, +size_t getNumIndexEntries(OperationContext* opCtx, const NamespaceString& nss, const string& idxName) { size_t numEntries = 0; - Collection* coll = dbHolder().get(txn, nss.db())->getCollection(nss.ns()); + Collection* coll = dbHolder().get(opCtx, nss.db())->getCollection(nss.ns()); IndexCatalog* catalog = coll->getIndexCatalog(); - IndexDescriptor* desc = catalog->findIndexByName(txn, idxName, false); + IndexDescriptor* desc = catalog->findIndexByName(opCtx, idxName, false); if (desc) { - auto cursor = catalog->getIndex(desc)->newCursor(txn); + auto cursor = catalog->getIndex(desc)->newCursor(opCtx); for (auto kv = cursor->seek(kMinBSONKey, true); kv; kv = cursor->next()) { numEntries++; @@ -136,11 +136,11 @@ size_t getNumIndexEntries(OperationContext* txn, return numEntries; } -void dropIndex(OperationContext* txn, const NamespaceString& nss, const string& idxName) { - Collection* coll = dbHolder().get(txn, nss.db())->getCollection(nss.ns()); - IndexDescriptor* desc = coll->getIndexCatalog()->findIndexByName(txn, idxName); +void dropIndex(OperationContext* opCtx, const NamespaceString& nss, const string& idxName) { + Collection* coll = dbHolder().get(opCtx, nss.db())->getCollection(nss.ns()); + IndexDescriptor* desc = coll->getIndexCatalog()->findIndexByName(opCtx, idxName); ASSERT(desc); - ASSERT_OK(coll->getIndexCatalog()->dropIndex(txn, desc)); + ASSERT_OK(coll->getIndexCatalog()->dropIndex(opCtx, desc)); } } // namespace @@ -149,19 +149,19 @@ class CreateCollection { public: void run() { string ns = "unittests.rollback_create_collection"; - const ServiceContext::UniqueOperationContext txnPtr = cc().makeOperationContext(); - OperationContext& txn = *txnPtr; + const ServiceContext::UniqueOperationContext opCtxPtr = cc().makeOperationContext(); + OperationContext& opCtx = *opCtxPtr; NamespaceString nss(ns); - dropDatabase(&txn, nss); + dropDatabase(&opCtx, nss); - ScopedTransaction transaction(&txn, MODE_IX); - Lock::DBLock dbXLock(txn.lockState(), nss.db(), MODE_X); - OldClientContext ctx(&txn, ns); + ScopedTransaction transaction(&opCtx, MODE_IX); + Lock::DBLock dbXLock(opCtx.lockState(), nss.db(), MODE_X); + OldClientContext ctx(&opCtx, ns); { - WriteUnitOfWork uow(&txn); + WriteUnitOfWork uow(&opCtx); ASSERT(!collectionExists(&ctx, ns)); auto options = capped ? BSON("capped" << true << "size" << 1000) : BSONObj(); - ASSERT_OK(userCreateNS(&txn, ctx.db(), ns, options, defaultIndexes)); + ASSERT_OK(userCreateNS(&opCtx, ctx.db(), ns, options, defaultIndexes)); ASSERT(collectionExists(&ctx, ns)); if (!rollback) { uow.commit(); @@ -180,19 +180,19 @@ class DropCollection { public: void run() { string ns = "unittests.rollback_drop_collection"; - const ServiceContext::UniqueOperationContext txnPtr = cc().makeOperationContext(); - OperationContext& txn = *txnPtr; + const ServiceContext::UniqueOperationContext opCtxPtr = cc().makeOperationContext(); + OperationContext& opCtx = *opCtxPtr; NamespaceString nss(ns); - dropDatabase(&txn, nss); + dropDatabase(&opCtx, nss); - ScopedTransaction transaction(&txn, MODE_IX); - Lock::DBLock dbXLock(txn.lockState(), nss.db(), MODE_X); - OldClientContext ctx(&txn, ns); + ScopedTransaction transaction(&opCtx, MODE_IX); + Lock::DBLock dbXLock(opCtx.lockState(), nss.db(), MODE_X); + OldClientContext ctx(&opCtx, ns); { - WriteUnitOfWork uow(&txn); + WriteUnitOfWork uow(&opCtx); ASSERT(!collectionExists(&ctx, ns)); auto options = capped ? BSON("capped" << true << "size" << 1000) : BSONObj(); - ASSERT_OK(userCreateNS(&txn, ctx.db(), ns, options, defaultIndexes)); + ASSERT_OK(userCreateNS(&opCtx, ctx.db(), ns, options, defaultIndexes)); uow.commit(); } ASSERT(collectionExists(&ctx, ns)); @@ -200,9 +200,9 @@ public: // END OF SETUP / START OF TEST { - WriteUnitOfWork uow(&txn); + WriteUnitOfWork uow(&opCtx); ASSERT(collectionExists(&ctx, ns)); - ASSERT_OK(ctx.db()->dropCollection(&txn, ns)); + ASSERT_OK(ctx.db()->dropCollection(&opCtx, ns)); ASSERT(!collectionExists(&ctx, ns)); if (!rollback) { uow.commit(); @@ -222,21 +222,21 @@ public: void run() { NamespaceString source("unittests.rollback_rename_collection_src"); NamespaceString target("unittests.rollback_rename_collection_dest"); - const ServiceContext::UniqueOperationContext txnPtr = cc().makeOperationContext(); - OperationContext& txn = *txnPtr; + const ServiceContext::UniqueOperationContext opCtxPtr = cc().makeOperationContext(); + OperationContext& opCtx = *opCtxPtr; - dropDatabase(&txn, source); - dropDatabase(&txn, target); + dropDatabase(&opCtx, source); + dropDatabase(&opCtx, target); - ScopedTransaction transaction(&txn, MODE_X); - Lock::GlobalWrite globalWriteLock(txn.lockState()); - OldClientContext ctx(&txn, source.ns()); + ScopedTransaction transaction(&opCtx, MODE_X); + Lock::GlobalWrite globalWriteLock(opCtx.lockState()); + OldClientContext ctx(&opCtx, source.ns()); { - WriteUnitOfWork uow(&txn); + WriteUnitOfWork uow(&opCtx); ASSERT(!collectionExists(&ctx, source.ns())); ASSERT(!collectionExists(&ctx, target.ns())); - ASSERT_OK(userCreateNS(&txn, ctx.db(), source.ns(), BSONObj(), defaultIndexes)); + ASSERT_OK(userCreateNS(&opCtx, ctx.db(), source.ns(), BSONObj(), defaultIndexes)); uow.commit(); } ASSERT(collectionExists(&ctx, source.ns())); @@ -245,8 +245,8 @@ public: // END OF SETUP / START OF TEST { - WriteUnitOfWork uow(&txn); - ASSERT_OK(renameCollection(&txn, source, target)); + WriteUnitOfWork uow(&opCtx); + ASSERT_OK(renameCollection(&opCtx, source, target)); ASSERT(!collectionExists(&ctx, source.ns())); ASSERT(collectionExists(&ctx, target.ns())); if (!rollback) { @@ -269,15 +269,15 @@ public: void run() { NamespaceString source("unittests.rollback_rename_droptarget_collection_src"); NamespaceString target("unittests.rollback_rename_droptarget_collection_dest"); - const ServiceContext::UniqueOperationContext txnPtr = cc().makeOperationContext(); - OperationContext& txn = *txnPtr; + const ServiceContext::UniqueOperationContext opCtxPtr = cc().makeOperationContext(); + OperationContext& opCtx = *opCtxPtr; - dropDatabase(&txn, source); - dropDatabase(&txn, target); + dropDatabase(&opCtx, source); + dropDatabase(&opCtx, target); - ScopedTransaction transaction(&txn, MODE_X); - Lock::GlobalWrite globalWriteLock(txn.lockState()); - OldClientContext ctx(&txn, source.ns()); + ScopedTransaction transaction(&opCtx, MODE_X); + Lock::GlobalWrite globalWriteLock(opCtx.lockState()); + OldClientContext ctx(&opCtx, source.ns()); BSONObj sourceDoc = BSON("_id" << "source"); @@ -285,31 +285,31 @@ public: << "target"); { - WriteUnitOfWork uow(&txn); + WriteUnitOfWork uow(&opCtx); ASSERT(!collectionExists(&ctx, source.ns())); ASSERT(!collectionExists(&ctx, target.ns())); - ASSERT_OK(userCreateNS(&txn, ctx.db(), source.ns(), BSONObj(), defaultIndexes)); - ASSERT_OK(userCreateNS(&txn, ctx.db(), target.ns(), BSONObj(), defaultIndexes)); + ASSERT_OK(userCreateNS(&opCtx, ctx.db(), source.ns(), BSONObj(), defaultIndexes)); + ASSERT_OK(userCreateNS(&opCtx, ctx.db(), target.ns(), BSONObj(), defaultIndexes)); - insertRecord(&txn, source, sourceDoc); - insertRecord(&txn, target, targetDoc); + insertRecord(&opCtx, source, sourceDoc); + insertRecord(&opCtx, target, targetDoc); uow.commit(); } ASSERT(collectionExists(&ctx, source.ns())); ASSERT(collectionExists(&ctx, target.ns())); - assertOnlyRecord(&txn, source, sourceDoc); - assertOnlyRecord(&txn, target, targetDoc); + assertOnlyRecord(&opCtx, source, sourceDoc); + assertOnlyRecord(&opCtx, target, targetDoc); // END OF SETUP / START OF TEST { - WriteUnitOfWork uow(&txn); - ASSERT_OK(ctx.db()->dropCollection(&txn, target.ns())); - ASSERT_OK(renameCollection(&txn, source, target)); + WriteUnitOfWork uow(&opCtx); + ASSERT_OK(ctx.db()->dropCollection(&opCtx, target.ns())); + ASSERT_OK(renameCollection(&opCtx, source, target)); ASSERT(!collectionExists(&ctx, source.ns())); ASSERT(collectionExists(&ctx, target.ns())); - assertOnlyRecord(&txn, target, sourceDoc); + assertOnlyRecord(&opCtx, target, sourceDoc); if (!rollback) { uow.commit(); } @@ -317,12 +317,12 @@ public: if (rollback) { ASSERT(collectionExists(&ctx, source.ns())); ASSERT(collectionExists(&ctx, target.ns())); - assertOnlyRecord(&txn, source, sourceDoc); - assertOnlyRecord(&txn, target, targetDoc); + assertOnlyRecord(&opCtx, source, sourceDoc); + assertOnlyRecord(&opCtx, target, targetDoc); } else { ASSERT(!collectionExists(&ctx, source.ns())); ASSERT(collectionExists(&ctx, target.ns())); - assertOnlyRecord(&txn, target, sourceDoc); + assertOnlyRecord(&opCtx, target, sourceDoc); } } }; @@ -332,13 +332,13 @@ class ReplaceCollection { public: void run() { NamespaceString nss("unittests.rollback_replace_collection"); - const ServiceContext::UniqueOperationContext txnPtr = cc().makeOperationContext(); - OperationContext& txn = *txnPtr; - dropDatabase(&txn, nss); + const ServiceContext::UniqueOperationContext opCtxPtr = cc().makeOperationContext(); + OperationContext& opCtx = *opCtxPtr; + dropDatabase(&opCtx, nss); - ScopedTransaction transaction(&txn, MODE_IX); - Lock::DBLock dbXLock(txn.lockState(), nss.db(), MODE_X); - OldClientContext ctx(&txn, nss.ns()); + ScopedTransaction transaction(&opCtx, MODE_IX); + Lock::DBLock dbXLock(opCtx.lockState(), nss.db(), MODE_X); + OldClientContext ctx(&opCtx, nss.ns()); BSONObj oldDoc = BSON("_id" << "old"); @@ -346,34 +346,34 @@ public: << "new"); { - WriteUnitOfWork uow(&txn); + WriteUnitOfWork uow(&opCtx); ASSERT(!collectionExists(&ctx, nss.ns())); - ASSERT_OK(userCreateNS(&txn, ctx.db(), nss.ns(), BSONObj(), defaultIndexes)); - insertRecord(&txn, nss, oldDoc); + ASSERT_OK(userCreateNS(&opCtx, ctx.db(), nss.ns(), BSONObj(), defaultIndexes)); + insertRecord(&opCtx, nss, oldDoc); uow.commit(); } ASSERT(collectionExists(&ctx, nss.ns())); - assertOnlyRecord(&txn, nss, oldDoc); + assertOnlyRecord(&opCtx, nss, oldDoc); // END OF SETUP / START OF TEST { - WriteUnitOfWork uow(&txn); - ASSERT_OK(ctx.db()->dropCollection(&txn, nss.ns())); + WriteUnitOfWork uow(&opCtx); + ASSERT_OK(ctx.db()->dropCollection(&opCtx, nss.ns())); ASSERT(!collectionExists(&ctx, nss.ns())); - ASSERT_OK(userCreateNS(&txn, ctx.db(), nss.ns(), BSONObj(), defaultIndexes)); + ASSERT_OK(userCreateNS(&opCtx, ctx.db(), nss.ns(), BSONObj(), defaultIndexes)); ASSERT(collectionExists(&ctx, nss.ns())); - insertRecord(&txn, nss, newDoc); - assertOnlyRecord(&txn, nss, newDoc); + insertRecord(&opCtx, nss, newDoc); + assertOnlyRecord(&opCtx, nss, newDoc); if (!rollback) { uow.commit(); } } ASSERT(collectionExists(&ctx, nss.ns())); if (rollback) { - assertOnlyRecord(&txn, nss, oldDoc); + assertOnlyRecord(&opCtx, nss, oldDoc); } else { - assertOnlyRecord(&txn, nss, newDoc); + assertOnlyRecord(&opCtx, nss, newDoc); } } }; @@ -383,27 +383,27 @@ class CreateDropCollection { public: void run() { NamespaceString nss("unittests.rollback_create_drop_collection"); - const ServiceContext::UniqueOperationContext txnPtr = cc().makeOperationContext(); - OperationContext& txn = *txnPtr; - dropDatabase(&txn, nss); + const ServiceContext::UniqueOperationContext opCtxPtr = cc().makeOperationContext(); + OperationContext& opCtx = *opCtxPtr; + dropDatabase(&opCtx, nss); - ScopedTransaction transaction(&txn, MODE_IX); - Lock::DBLock dbXLock(txn.lockState(), nss.db(), MODE_X); - OldClientContext ctx(&txn, nss.ns()); + ScopedTransaction transaction(&opCtx, MODE_IX); + Lock::DBLock dbXLock(opCtx.lockState(), nss.db(), MODE_X); + OldClientContext ctx(&opCtx, nss.ns()); BSONObj doc = BSON("_id" << "example string"); ASSERT(!collectionExists(&ctx, nss.ns())); { - WriteUnitOfWork uow(&txn); + WriteUnitOfWork uow(&opCtx); - ASSERT_OK(userCreateNS(&txn, ctx.db(), nss.ns(), BSONObj(), defaultIndexes)); + ASSERT_OK(userCreateNS(&opCtx, ctx.db(), nss.ns(), BSONObj(), defaultIndexes)); ASSERT(collectionExists(&ctx, nss.ns())); - insertRecord(&txn, nss, doc); - assertOnlyRecord(&txn, nss, doc); + insertRecord(&opCtx, nss, doc); + assertOnlyRecord(&opCtx, nss, doc); - ASSERT_OK(ctx.db()->dropCollection(&txn, nss.ns())); + ASSERT_OK(ctx.db()->dropCollection(&opCtx, nss.ns())); ASSERT(!collectionExists(&ctx, nss.ns())); if (!rollback) { @@ -419,37 +419,37 @@ class TruncateCollection { public: void run() { NamespaceString nss("unittests.rollback_truncate_collection"); - const ServiceContext::UniqueOperationContext txnPtr = cc().makeOperationContext(); - OperationContext& txn = *txnPtr; - dropDatabase(&txn, nss); + const ServiceContext::UniqueOperationContext opCtxPtr = cc().makeOperationContext(); + OperationContext& opCtx = *opCtxPtr; + dropDatabase(&opCtx, nss); - ScopedTransaction transaction(&txn, MODE_IX); - Lock::DBLock dbXLock(txn.lockState(), nss.db(), MODE_X); - OldClientContext ctx(&txn, nss.ns()); + ScopedTransaction transaction(&opCtx, MODE_IX); + Lock::DBLock dbXLock(opCtx.lockState(), nss.db(), MODE_X); + OldClientContext ctx(&opCtx, nss.ns()); BSONObj doc = BSON("_id" << "foo"); ASSERT(!collectionExists(&ctx, nss.ns())); { - WriteUnitOfWork uow(&txn); + WriteUnitOfWork uow(&opCtx); - ASSERT_OK(userCreateNS(&txn, ctx.db(), nss.ns(), BSONObj(), defaultIndexes)); + ASSERT_OK(userCreateNS(&opCtx, ctx.db(), nss.ns(), BSONObj(), defaultIndexes)); ASSERT(collectionExists(&ctx, nss.ns())); - insertRecord(&txn, nss, doc); - assertOnlyRecord(&txn, nss, doc); + insertRecord(&opCtx, nss, doc); + assertOnlyRecord(&opCtx, nss, doc); uow.commit(); } - assertOnlyRecord(&txn, nss, doc); + assertOnlyRecord(&opCtx, nss, doc); // END OF SETUP / START OF TEST { - WriteUnitOfWork uow(&txn); + WriteUnitOfWork uow(&opCtx); - ASSERT_OK(truncateCollection(&txn, nss)); + ASSERT_OK(truncateCollection(&opCtx, nss)); ASSERT(collectionExists(&ctx, nss.ns())); - assertEmpty(&txn, nss); + assertEmpty(&opCtx, nss); if (!rollback) { uow.commit(); @@ -457,9 +457,9 @@ public: } ASSERT(collectionExists(&ctx, nss.ns())); if (rollback) { - assertOnlyRecord(&txn, nss, doc); + assertOnlyRecord(&opCtx, nss, doc); } else { - assertEmpty(&txn, nss); + assertEmpty(&opCtx, nss); } } }; @@ -469,14 +469,14 @@ class CreateIndex { public: void run() { string ns = "unittests.rollback_create_index"; - const ServiceContext::UniqueOperationContext txnPtr = cc().makeOperationContext(); - OperationContext& txn = *txnPtr; + const ServiceContext::UniqueOperationContext opCtxPtr = cc().makeOperationContext(); + OperationContext& opCtx = *opCtxPtr; NamespaceString nss(ns); - dropDatabase(&txn, nss); - createCollection(&txn, nss); + dropDatabase(&opCtx, nss); + createCollection(&opCtx, nss); - ScopedTransaction transaction(&txn, MODE_IX); - AutoGetDb autoDb(&txn, nss.db(), MODE_X); + ScopedTransaction transaction(&opCtx, MODE_IX); + AutoGetDb autoDb(&opCtx, nss.db(), MODE_X); Collection* coll = autoDb.getDb()->getCollection(ns); IndexCatalog* catalog = coll->getIndexCatalog(); @@ -488,20 +488,20 @@ public: // END SETUP / START TEST { - WriteUnitOfWork uow(&txn); - ASSERT_OK(catalog->createIndexOnEmptyCollection(&txn, spec)); - insertRecord(&txn, nss, BSON("a" << 1)); - insertRecord(&txn, nss, BSON("a" << 2)); - insertRecord(&txn, nss, BSON("a" << 3)); + WriteUnitOfWork uow(&opCtx); + ASSERT_OK(catalog->createIndexOnEmptyCollection(&opCtx, spec)); + insertRecord(&opCtx, nss, BSON("a" << 1)); + insertRecord(&opCtx, nss, BSON("a" << 2)); + insertRecord(&opCtx, nss, BSON("a" << 3)); if (!rollback) { uow.commit(); } } if (rollback) { - ASSERT(!indexExists(&txn, nss, idxName)); + ASSERT(!indexExists(&opCtx, nss, idxName)); } else { - ASSERT(indexReady(&txn, nss, idxName)); + ASSERT(indexReady(&opCtx, nss, idxName)); } } }; @@ -511,14 +511,14 @@ class DropIndex { public: void run() { string ns = "unittests.rollback_drop_index"; - const ServiceContext::UniqueOperationContext txnPtr = cc().makeOperationContext(); - OperationContext& txn = *txnPtr; + const ServiceContext::UniqueOperationContext opCtxPtr = cc().makeOperationContext(); + OperationContext& opCtx = *opCtxPtr; NamespaceString nss(ns); - dropDatabase(&txn, nss); - createCollection(&txn, nss); + dropDatabase(&opCtx, nss); + createCollection(&opCtx, nss); - ScopedTransaction transaction(&txn, MODE_IX); - AutoGetDb autoDb(&txn, nss.db(), MODE_X); + ScopedTransaction transaction(&opCtx, MODE_IX); + AutoGetDb autoDb(&opCtx, nss.db(), MODE_X); Collection* coll = autoDb.getDb()->getCollection(ns); IndexCatalog* catalog = coll->getIndexCatalog(); @@ -528,34 +528,34 @@ public: << static_cast<int>(kIndexVersion)); { - WriteUnitOfWork uow(&txn); - ASSERT_OK(catalog->createIndexOnEmptyCollection(&txn, spec)); - insertRecord(&txn, nss, BSON("a" << 1)); - insertRecord(&txn, nss, BSON("a" << 2)); - insertRecord(&txn, nss, BSON("a" << 3)); + WriteUnitOfWork uow(&opCtx); + ASSERT_OK(catalog->createIndexOnEmptyCollection(&opCtx, spec)); + insertRecord(&opCtx, nss, BSON("a" << 1)); + insertRecord(&opCtx, nss, BSON("a" << 2)); + insertRecord(&opCtx, nss, BSON("a" << 3)); uow.commit(); } - ASSERT(indexReady(&txn, nss, idxName)); - ASSERT_EQ(3u, getNumIndexEntries(&txn, nss, idxName)); + ASSERT(indexReady(&opCtx, nss, idxName)); + ASSERT_EQ(3u, getNumIndexEntries(&opCtx, nss, idxName)); // END SETUP / START TEST { - WriteUnitOfWork uow(&txn); + WriteUnitOfWork uow(&opCtx); - dropIndex(&txn, nss, idxName); - ASSERT(!indexExists(&txn, nss, idxName)); + dropIndex(&opCtx, nss, idxName); + ASSERT(!indexExists(&opCtx, nss, idxName)); if (!rollback) { uow.commit(); } } if (rollback) { - ASSERT(indexExists(&txn, nss, idxName)); - ASSERT(indexReady(&txn, nss, idxName)); - ASSERT_EQ(3u, getNumIndexEntries(&txn, nss, idxName)); + ASSERT(indexExists(&opCtx, nss, idxName)); + ASSERT(indexReady(&opCtx, nss, idxName)); + ASSERT_EQ(3u, getNumIndexEntries(&opCtx, nss, idxName)); } else { - ASSERT(!indexExists(&txn, nss, idxName)); + ASSERT(!indexExists(&opCtx, nss, idxName)); } } }; @@ -565,14 +565,14 @@ class CreateDropIndex { public: void run() { string ns = "unittests.rollback_create_drop_index"; - const ServiceContext::UniqueOperationContext txnPtr = cc().makeOperationContext(); - OperationContext& txn = *txnPtr; + const ServiceContext::UniqueOperationContext opCtxPtr = cc().makeOperationContext(); + OperationContext& opCtx = *opCtxPtr; NamespaceString nss(ns); - dropDatabase(&txn, nss); - createCollection(&txn, nss); + dropDatabase(&opCtx, nss); + createCollection(&opCtx, nss); - ScopedTransaction transaction(&txn, MODE_IX); - AutoGetDb autoDb(&txn, nss.db(), MODE_X); + ScopedTransaction transaction(&opCtx, MODE_IX); + AutoGetDb autoDb(&opCtx, nss.db(), MODE_X); Collection* coll = autoDb.getDb()->getCollection(ns); IndexCatalog* catalog = coll->getIndexCatalog(); @@ -584,24 +584,24 @@ public: // END SETUP / START TEST { - WriteUnitOfWork uow(&txn); + WriteUnitOfWork uow(&opCtx); - ASSERT_OK(catalog->createIndexOnEmptyCollection(&txn, spec)); - insertRecord(&txn, nss, BSON("a" << 1)); - insertRecord(&txn, nss, BSON("a" << 2)); - insertRecord(&txn, nss, BSON("a" << 3)); - ASSERT(indexExists(&txn, nss, idxName)); - ASSERT_EQ(3u, getNumIndexEntries(&txn, nss, idxName)); + ASSERT_OK(catalog->createIndexOnEmptyCollection(&opCtx, spec)); + insertRecord(&opCtx, nss, BSON("a" << 1)); + insertRecord(&opCtx, nss, BSON("a" << 2)); + insertRecord(&opCtx, nss, BSON("a" << 3)); + ASSERT(indexExists(&opCtx, nss, idxName)); + ASSERT_EQ(3u, getNumIndexEntries(&opCtx, nss, idxName)); - dropIndex(&txn, nss, idxName); - ASSERT(!indexExists(&txn, nss, idxName)); + dropIndex(&opCtx, nss, idxName); + ASSERT(!indexExists(&opCtx, nss, idxName)); if (!rollback) { uow.commit(); } } - ASSERT(!indexExists(&txn, nss, idxName)); + ASSERT(!indexExists(&opCtx, nss, idxName)); } }; @@ -610,14 +610,14 @@ class SetIndexHead { public: void run() { string ns = "unittests.rollback_set_index_head"; - const ServiceContext::UniqueOperationContext txnPtr = cc().makeOperationContext(); - OperationContext& txn = *txnPtr; + const ServiceContext::UniqueOperationContext opCtxPtr = cc().makeOperationContext(); + OperationContext& opCtx = *opCtxPtr; NamespaceString nss(ns); - dropDatabase(&txn, nss); - createCollection(&txn, nss); + dropDatabase(&opCtx, nss); + createCollection(&opCtx, nss); - ScopedTransaction transaction(&txn, MODE_IX); - AutoGetDb autoDb(&txn, nss.db(), MODE_X); + ScopedTransaction transaction(&opCtx, MODE_IX); + AutoGetDb autoDb(&opCtx, nss.db(), MODE_X); Collection* coll = autoDb.getDb()->getCollection(ns); IndexCatalog* catalog = coll->getIndexCatalog(); @@ -627,19 +627,19 @@ public: << static_cast<int>(kIndexVersion)); { - WriteUnitOfWork uow(&txn); - ASSERT_OK(catalog->createIndexOnEmptyCollection(&txn, spec)); + WriteUnitOfWork uow(&opCtx); + ASSERT_OK(catalog->createIndexOnEmptyCollection(&opCtx, spec)); uow.commit(); } - IndexDescriptor* indexDesc = catalog->findIndexByName(&txn, idxName); + IndexDescriptor* indexDesc = catalog->findIndexByName(&opCtx, idxName); invariant(indexDesc); const IndexCatalogEntry* ice = catalog->getEntry(indexDesc); invariant(ice); HeadManager* headManager = ice->headManager(); - const RecordId oldHead = headManager->getHead(&txn); - ASSERT_EQ(oldHead, ice->head(&txn)); + const RecordId oldHead = headManager->getHead(&opCtx); + ASSERT_EQ(oldHead, ice->head(&opCtx)); const RecordId dummyHead(123, 456); ASSERT_NE(oldHead, dummyHead); @@ -647,12 +647,12 @@ public: // END SETUP / START TEST { - WriteUnitOfWork uow(&txn); + WriteUnitOfWork uow(&opCtx); - headManager->setHead(&txn, dummyHead); + headManager->setHead(&opCtx, dummyHead); - ASSERT_EQ(ice->head(&txn), dummyHead); - ASSERT_EQ(headManager->getHead(&txn), dummyHead); + ASSERT_EQ(ice->head(&opCtx), dummyHead); + ASSERT_EQ(headManager->getHead(&opCtx), dummyHead); if (!rollback) { uow.commit(); @@ -660,11 +660,11 @@ public: } if (rollback) { - ASSERT_EQ(ice->head(&txn), oldHead); - ASSERT_EQ(headManager->getHead(&txn), oldHead); + ASSERT_EQ(ice->head(&opCtx), oldHead); + ASSERT_EQ(headManager->getHead(&opCtx), oldHead); } else { - ASSERT_EQ(ice->head(&txn), dummyHead); - ASSERT_EQ(headManager->getHead(&txn), dummyHead); + ASSERT_EQ(ice->head(&opCtx), dummyHead); + ASSERT_EQ(headManager->getHead(&opCtx), dummyHead); } } }; @@ -674,14 +674,14 @@ class CreateCollectionAndIndexes { public: void run() { string ns = "unittests.rollback_create_collection_and_indexes"; - const ServiceContext::UniqueOperationContext txnPtr = cc().makeOperationContext(); - OperationContext& txn = *txnPtr; + const ServiceContext::UniqueOperationContext opCtxPtr = cc().makeOperationContext(); + OperationContext& opCtx = *opCtxPtr; NamespaceString nss(ns); - dropDatabase(&txn, nss); + dropDatabase(&opCtx, nss); - ScopedTransaction transaction(&txn, MODE_IX); - Lock::DBLock dbXLock(txn.lockState(), nss.db(), MODE_X); - OldClientContext ctx(&txn, nss.ns()); + ScopedTransaction transaction(&opCtx, MODE_IX); + Lock::DBLock dbXLock(opCtx.lockState(), nss.db(), MODE_X); + OldClientContext ctx(&opCtx, nss.ns()); string idxNameA = "indexA"; string idxNameB = "indexB"; @@ -696,16 +696,16 @@ public: // END SETUP / START TEST { - WriteUnitOfWork uow(&txn); + WriteUnitOfWork uow(&opCtx); ASSERT(!collectionExists(&ctx, nss.ns())); - ASSERT_OK(userCreateNS(&txn, ctx.db(), nss.ns(), BSONObj(), false)); + ASSERT_OK(userCreateNS(&opCtx, ctx.db(), nss.ns(), BSONObj(), false)); ASSERT(collectionExists(&ctx, nss.ns())); Collection* coll = ctx.db()->getCollection(ns); IndexCatalog* catalog = coll->getIndexCatalog(); - ASSERT_OK(catalog->createIndexOnEmptyCollection(&txn, specA)); - ASSERT_OK(catalog->createIndexOnEmptyCollection(&txn, specB)); - ASSERT_OK(catalog->createIndexOnEmptyCollection(&txn, specC)); + ASSERT_OK(catalog->createIndexOnEmptyCollection(&opCtx, specA)); + ASSERT_OK(catalog->createIndexOnEmptyCollection(&opCtx, specB)); + ASSERT_OK(catalog->createIndexOnEmptyCollection(&opCtx, specC)); if (!rollback) { uow.commit(); @@ -715,9 +715,9 @@ public: ASSERT(!collectionExists(&ctx, ns)); } else { ASSERT(collectionExists(&ctx, ns)); - ASSERT(indexReady(&txn, nss, idxNameA)); - ASSERT(indexReady(&txn, nss, idxNameB)); - ASSERT(indexReady(&txn, nss, idxNameC)); + ASSERT(indexReady(&opCtx, nss, idxNameA)); + ASSERT(indexReady(&opCtx, nss, idxNameB)); + ASSERT(indexReady(&opCtx, nss, idxNameC)); } } }; |