diff options
Diffstat (limited to 'src/mongo/s/write_ops/batch_write_op_test.cpp')
-rw-r--r-- | src/mongo/s/write_ops/batch_write_op_test.cpp | 102 |
1 files changed, 52 insertions, 50 deletions
diff --git a/src/mongo/s/write_ops/batch_write_op_test.cpp b/src/mongo/s/write_ops/batch_write_op_test.cpp index 3681cd77b10..da0b55eea60 100644 --- a/src/mongo/s/write_ops/batch_write_op_test.cpp +++ b/src/mongo/s/write_ops/batch_write_op_test.cpp @@ -119,7 +119,7 @@ using BatchWriteOpTest = WriteOpTestFixture; TEST_F(BatchWriteOpTest, SingleOp) { NamespaceString nss("foo.bar"); - ShardEndpoint endpoint(ShardId("shard"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpoint(ShardId("shard"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterFullRange(nss, endpoint); @@ -151,7 +151,7 @@ TEST_F(BatchWriteOpTest, SingleOp) { TEST_F(BatchWriteOpTest, SingleError) { NamespaceString nss("foo.bar"); - ShardEndpoint endpoint(ShardId("shard"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpoint(ShardId("shard"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterFullRange(nss, endpoint); @@ -189,7 +189,7 @@ TEST_F(BatchWriteOpTest, SingleError) { TEST_F(BatchWriteOpTest, SingleTargetError) { NamespaceString nss("foo.bar"); - ShardEndpoint endpoint(ShardId("shard"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpoint(ShardId("shard"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterHalfRange(nss, endpoint); @@ -223,7 +223,7 @@ TEST_F(BatchWriteOpTest, SingleTargetError) { // concern error if one occurs. TEST_F(BatchWriteOpTest, SingleWriteConcernErrorOrdered) { NamespaceString nss("foo.bar"); - ShardEndpoint endpoint(ShardId("shard"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpoint(ShardId("shard"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterFullRange(nss, endpoint); @@ -265,7 +265,7 @@ TEST_F(BatchWriteOpTest, SingleWriteConcernErrorOrdered) { // Single-op stale version test. We should retry the same batch until we're not stale. TEST_F(BatchWriteOpTest, SingleStaleError) { NamespaceString nss("foo.bar"); - ShardEndpoint endpoint(ShardId("shard"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpoint(ShardId("shard"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterFullRange(nss, endpoint); @@ -287,8 +287,10 @@ TEST_F(BatchWriteOpTest, SingleStaleError) { response.addToErrDetails(write_ops::WriteError( 0, Status{StaleConfigInfo(nss, - ShardVersion(ChunkVersion({epoch, timestamp}, {101, 200})), - ShardVersion(ChunkVersion({epoch, timestamp}, {105, 200})), + ShardVersion(ChunkVersion({epoch, timestamp}, {101, 200}), + CollectionIndexes({epoch, timestamp}, boost::none)), + ShardVersion(ChunkVersion({epoch, timestamp}, {105, 200}), + CollectionIndexes({epoch, timestamp}, boost::none)), ShardId("shard")), "mock stale error"})); @@ -326,7 +328,7 @@ TEST_F(BatchWriteOpTest, SingleStaleError) { // Multi-op targeting test (ordered) TEST_F(BatchWriteOpTest, MultiOpSameShardOrdered) { NamespaceString nss("foo.bar"); - ShardEndpoint endpoint(ShardId("shard"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpoint(ShardId("shard"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterFullRange(nss, endpoint); @@ -362,7 +364,7 @@ TEST_F(BatchWriteOpTest, MultiOpSameShardOrdered) { // Multi-op targeting test (unordered) TEST_F(BatchWriteOpTest, MultiOpSameShardUnordered) { NamespaceString nss("foo.bar"); - ShardEndpoint endpoint(ShardId("shard"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpoint(ShardId("shard"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterFullRange(nss, endpoint); @@ -404,8 +406,8 @@ TEST_F(BatchWriteOpTest, MultiOpSameShardUnordered) { // (one to each shard, one-by-one) TEST_F(BatchWriteOpTest, MultiOpTwoShardsOrdered) { NamespaceString nss("foo.bar"); - ShardEndpoint endpointA(ShardId("shardA"), ChunkVersion::IGNORED(), boost::none); - ShardEndpoint endpointB(ShardId("shardB"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpointA(ShardId("shardA"), ShardVersion::IGNORED(), boost::none); + ShardEndpoint endpointB(ShardId("shardB"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterSplitRange(nss, endpointA, endpointB); @@ -460,7 +462,7 @@ void verifyTargetedBatches(std::map<ShardId, size_t> expected, for (auto it = targeted.begin(); it != targeted.end(); ++it) { ASSERT_EQUALS(expected[it->second->getEndpoint().shardName], it->second->getWrites().size()); - ASSERT_EQUALS(ChunkVersion::IGNORED(), *it->second->getEndpoint().shardVersion); + ASSERT_EQUALS(ShardVersion::IGNORED(), *it->second->getEndpoint().shardVersion); expected.erase(expected.find(it->second->getEndpoint().shardName)); } ASSERT(expected.empty()); @@ -470,8 +472,8 @@ void verifyTargetedBatches(std::map<ShardId, size_t> expected, // to each shard). TEST_F(BatchWriteOpTest, MultiOpTwoShardsUnordered) { NamespaceString nss("foo.bar"); - ShardEndpoint endpointA(ShardId("shardA"), ChunkVersion::IGNORED(), boost::none); - ShardEndpoint endpointB(ShardId("shardB"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpointA(ShardId("shardA"), ShardVersion::IGNORED(), boost::none); + ShardEndpoint endpointB(ShardId("shardB"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterSplitRange(nss, endpointA, endpointB); @@ -515,8 +517,8 @@ TEST_F(BatchWriteOpTest, MultiOpTwoShardsUnordered) { // two batches to each shard (two for each delete op). TEST_F(BatchWriteOpTest, MultiOpTwoShardsEachOrdered) { NamespaceString nss("foo.bar"); - ShardEndpoint endpointA(ShardId("shardA"), ChunkVersion::IGNORED(), boost::none); - ShardEndpoint endpointB(ShardId("shardB"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpointA(ShardId("shardA"), ShardVersion::IGNORED(), boost::none); + ShardEndpoint endpointB(ShardId("shardB"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterSplitRange(nss, endpointA, endpointB); @@ -570,8 +572,8 @@ TEST_F(BatchWriteOpTest, MultiOpTwoShardsEachOrdered) { // of two batches to each shard (containing writes for both ops). TEST_F(BatchWriteOpTest, MultiOpTwoShardsEachUnordered) { NamespaceString nss("foo.bar"); - ShardEndpoint endpointA(ShardId("shardA"), ChunkVersion::IGNORED(), boost::none); - ShardEndpoint endpointB(ShardId("shardB"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpointA(ShardId("shardA"), ShardVersion::IGNORED(), boost::none); + ShardEndpoint endpointB(ShardId("shardB"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterSplitRange(nss, endpointA, endpointB); @@ -617,8 +619,8 @@ TEST_F(BatchWriteOpTest, MultiOpTwoShardsEachUnordered) { // ops should be batched together. TEST_F(BatchWriteOpTest, MultiOpOneOrTwoShardsOrdered) { NamespaceString nss("foo.bar"); - ShardEndpoint endpointA(ShardId("shardA"), ChunkVersion::IGNORED(), boost::none); - ShardEndpoint endpointB(ShardId("shardB"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpointA(ShardId("shardA"), ShardVersion::IGNORED(), boost::none); + ShardEndpoint endpointB(ShardId("shardB"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterSplitRange(nss, endpointA, endpointB); @@ -711,8 +713,8 @@ TEST_F(BatchWriteOpTest, MultiOpOneOrTwoShardsOrdered) { // shards. Should batch all the ops together into two batches of four ops for each shard. TEST_F(BatchWriteOpTest, MultiOpOneOrTwoShardsUnordered) { NamespaceString nss("foo.bar"); - ShardEndpoint endpointA(ShardId("shardA"), ChunkVersion::IGNORED(), boost::none); - ShardEndpoint endpointB(ShardId("shardB"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpointA(ShardId("shardA"), ShardVersion::IGNORED(), boost::none); + ShardEndpoint endpointB(ShardId("shardB"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterSplitRange(nss, endpointA, endpointB); @@ -764,8 +766,8 @@ TEST_F(BatchWriteOpTest, MultiOpOneOrTwoShardsUnordered) { // one shard. There should be one set of two batches to each shard and an error reported. TEST_F(BatchWriteOpTest, MultiOpSingleShardErrorUnordered) { NamespaceString nss("foo.bar"); - ShardEndpoint endpointA(ShardId("shardA"), ChunkVersion::IGNORED(), boost::none); - ShardEndpoint endpointB(ShardId("shardB"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpointA(ShardId("shardA"), ShardVersion::IGNORED(), boost::none); + ShardEndpoint endpointB(ShardId("shardB"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterSplitRange(nss, endpointA, endpointB); @@ -824,8 +826,8 @@ TEST_F(BatchWriteOpTest, MultiOpSingleShardErrorUnordered) { // on each shard. There should be one set of two batches to each shard and and two errors reported. TEST_F(BatchWriteOpTest, MultiOpTwoShardErrorsUnordered) { NamespaceString nss("foo.bar"); - ShardEndpoint endpointA(ShardId("shardA"), ChunkVersion::IGNORED(), boost::none); - ShardEndpoint endpointB(ShardId("shardB"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpointA(ShardId("shardA"), ShardVersion::IGNORED(), boost::none); + ShardEndpoint endpointB(ShardId("shardB"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterSplitRange(nss, endpointA, endpointB); @@ -881,8 +883,8 @@ TEST_F(BatchWriteOpTest, MultiOpTwoShardErrorsUnordered) { // shard. There should be one set of two batches to each shard and an error reported. TEST_F(BatchWriteOpTest, MultiOpPartialSingleShardErrorUnordered) { NamespaceString nss("foo.bar"); - ShardEndpoint endpointA(ShardId("shardA"), ChunkVersion::IGNORED(), boost::none); - ShardEndpoint endpointB(ShardId("shardB"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpointA(ShardId("shardA"), ShardVersion::IGNORED(), boost::none); + ShardEndpoint endpointB(ShardId("shardB"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterSplitRange(nss, endpointA, endpointB); @@ -943,8 +945,8 @@ TEST_F(BatchWriteOpTest, MultiOpPartialSingleShardErrorUnordered) { // should not get run. TEST_F(BatchWriteOpTest, MultiOpPartialSingleShardErrorOrdered) { NamespaceString nss("foo.bar"); - ShardEndpoint endpointA(ShardId("shardA"), ChunkVersion::IGNORED(), boost::none); - ShardEndpoint endpointB(ShardId("shardB"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpointA(ShardId("shardA"), ShardVersion::IGNORED(), boost::none); + ShardEndpoint endpointB(ShardId("shardB"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterSplitRange(nss, endpointA, endpointB); @@ -1004,7 +1006,7 @@ TEST_F(BatchWriteOpTest, MultiOpPartialSingleShardErrorOrdered) { // the error if ordered : false. TEST_F(BatchWriteOpTest, MultiOpErrorAndWriteConcernErrorUnordered) { NamespaceString nss("foo.bar"); - ShardEndpoint endpoint(ShardId("shard"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpoint(ShardId("shard"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterFullRange(nss, endpoint); @@ -1047,8 +1049,8 @@ TEST_F(BatchWriteOpTest, MultiOpErrorAndWriteConcernErrorUnordered) { // ordered and we also have an error TEST_F(BatchWriteOpTest, SingleOpErrorAndWriteConcernErrorOrdered) { NamespaceString nss("foo.bar"); - ShardEndpoint endpointA(ShardId("shardA"), ChunkVersion::IGNORED(), boost::none); - ShardEndpoint endpointB(ShardId("shardB"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpointA(ShardId("shardA"), ShardVersion::IGNORED(), boost::none); + ShardEndpoint endpointB(ShardId("shardB"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterSplitRange(nss, endpointA, endpointB); @@ -1102,7 +1104,7 @@ TEST_F(BatchWriteOpTest, SingleOpErrorAndWriteConcernErrorOrdered) { // Targeting failure on second op in batch op (ordered) TEST_F(BatchWriteOpTest, MultiOpFailedTargetOrdered) { NamespaceString nss("foo.bar"); - ShardEndpoint endpoint(ShardId("shard"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpoint(ShardId("shard"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterHalfRange(nss, endpoint); @@ -1156,7 +1158,7 @@ TEST_F(BatchWriteOpTest, MultiOpFailedTargetOrdered) { // Targeting failure on second op in batch op (unordered) TEST_F(BatchWriteOpTest, MultiOpFailedTargetUnordered) { NamespaceString nss("foo.bar"); - ShardEndpoint endpoint(ShardId("shard"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpoint(ShardId("shard"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterHalfRange(nss, endpoint); @@ -1209,8 +1211,8 @@ TEST_F(BatchWriteOpTest, MultiOpFailedTargetUnordered) { // into write errors for first affected write. TEST_F(BatchWriteOpTest, MultiOpFailedBatchOrdered) { NamespaceString nss("foo.bar"); - ShardEndpoint endpointA(ShardId("shardA"), ChunkVersion::IGNORED(), boost::none); - ShardEndpoint endpointB(ShardId("shardB"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpointA(ShardId("shardA"), ShardVersion::IGNORED(), boost::none); + ShardEndpoint endpointB(ShardId("shardB"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterSplitRange(nss, endpointA, endpointB); @@ -1256,8 +1258,8 @@ TEST_F(BatchWriteOpTest, MultiOpFailedBatchOrdered) { // into write errors for all affected writes. TEST_F(BatchWriteOpTest, MultiOpFailedBatchUnordered) { NamespaceString nss("foo.bar"); - ShardEndpoint endpointA(ShardId("shardA"), ChunkVersion::IGNORED(), boost::none); - ShardEndpoint endpointB(ShardId("shardB"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpointA(ShardId("shardA"), ShardVersion::IGNORED(), boost::none); + ShardEndpoint endpointB(ShardId("shardB"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterSplitRange(nss, endpointA, endpointB); @@ -1312,8 +1314,8 @@ TEST_F(BatchWriteOpTest, MultiOpFailedBatchUnordered) { // write. TEST_F(BatchWriteOpTest, MultiOpAbortOrdered) { NamespaceString nss("foo.bar"); - ShardEndpoint endpointA(ShardId("shardA"), ChunkVersion::IGNORED(), boost::none); - ShardEndpoint endpointB(ShardId("shardB"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpointA(ShardId("shardA"), ShardVersion::IGNORED(), boost::none); + ShardEndpoint endpointB(ShardId("shardB"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterSplitRange(nss, endpointA, endpointB); @@ -1355,8 +1357,8 @@ TEST_F(BatchWriteOpTest, MultiOpAbortOrdered) { // writes. TEST_F(BatchWriteOpTest, MultiOpAbortUnordered) { NamespaceString nss("foo.bar"); - ShardEndpoint endpointA(ShardId("shardA"), ChunkVersion::IGNORED(), boost::none); - ShardEndpoint endpointB(ShardId("shardB"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpointA(ShardId("shardA"), ShardVersion::IGNORED(), boost::none); + ShardEndpoint endpointB(ShardId("shardB"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterSplitRange(nss, endpointA, endpointB); @@ -1395,8 +1397,8 @@ TEST_F(BatchWriteOpTest, MultiOpAbortUnordered) { // Multi-op targeting test where each op goes to both shards and both return a write concern error TEST_F(BatchWriteOpTest, MultiOpTwoWCErrors) { NamespaceString nss("foo.bar"); - ShardEndpoint endpointA(ShardId("shardA"), ChunkVersion::IGNORED(), boost::none); - ShardEndpoint endpointB(ShardId("shardB"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpointA(ShardId("shardA"), ShardVersion::IGNORED(), boost::none); + ShardEndpoint endpointB(ShardId("shardB"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterSplitRange(nss, endpointA, endpointB); @@ -1437,7 +1439,7 @@ TEST_F(BatchWriteOpTest, MultiOpTwoWCErrors) { TEST_F(BatchWriteOpTest, AttachingStmtIds) { NamespaceString nss("foo.bar"); - ShardEndpoint endpoint(ShardId("shard"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpoint(ShardId("shard"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterFullRange(nss, endpoint); const std::vector<StmtId> stmtIds{1, 2, 3}; @@ -1527,7 +1529,7 @@ using BatchWriteOpLimitTests = WriteOpTestFixture; // Big single operation test - should go through TEST_F(BatchWriteOpLimitTests, OneBigDoc) { NamespaceString nss("foo.bar"); - ShardEndpoint endpoint(ShardId("shard"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpoint(ShardId("shard"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterFullRange(nss, endpoint); @@ -1562,7 +1564,7 @@ TEST_F(BatchWriteOpLimitTests, OneBigDoc) { // Big doc with smaller additional doc - should go through as two batches TEST_F(BatchWriteOpLimitTests, OneBigOneSmall) { NamespaceString nss("foo.bar"); - ShardEndpoint endpoint(ShardId("shard"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpoint(ShardId("shard"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterFullRange(nss, endpoint); @@ -1630,7 +1632,7 @@ private: TEST_F(BatchWriteOpTransactionTest, ThrowTargetingErrorsInTransaction_Delete) { NamespaceString nss("foo.bar"); - ShardEndpoint endpoint(ShardId("shard"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpoint(ShardId("shard"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterHalfRange(nss, endpoint); @@ -1659,7 +1661,7 @@ TEST_F(BatchWriteOpTransactionTest, ThrowTargetingErrorsInTransaction_Delete) { TEST_F(BatchWriteOpTransactionTest, ThrowTargetingErrorsInTransaction_Update) { NamespaceString nss("foo.bar"); - ShardEndpoint endpoint(ShardId("shard"), ChunkVersion::IGNORED(), boost::none); + ShardEndpoint endpoint(ShardId("shard"), ShardVersion::IGNORED(), boost::none); auto targeter = initTargeterHalfRange(nss, endpoint); |