summaryrefslogtreecommitdiff
path: root/src/mongo/s/chunk_manager_refresh_bm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/s/chunk_manager_refresh_bm.cpp')
-rw-r--r--src/mongo/s/chunk_manager_refresh_bm.cpp37
1 files changed, 22 insertions, 15 deletions
diff --git a/src/mongo/s/chunk_manager_refresh_bm.cpp b/src/mongo/s/chunk_manager_refresh_bm.cpp
index dbd0248f112..600196ea120 100644
--- a/src/mongo/s/chunk_manager_refresh_bm.cpp
+++ b/src/mongo/s/chunk_manager_refresh_bm.cpp
@@ -43,6 +43,10 @@ namespace {
const NamespaceString kNss("test", "foo");
+std::shared_ptr<RoutingTableHistory> makeStandaloneRoutingTableHistory(RoutingTableHistory rt) {
+ return std::make_shared<RoutingTableHistory>(std::move(rt));
+}
+
ChunkRange getRangeForChunk(int i, int nChunks) {
invariant(i >= 0);
invariant(nChunks > 0);
@@ -72,12 +76,13 @@ CollectionMetadata makeChunkManagerWithShardSelector(int nShards,
selectShard(i, nShards, nChunks));
}
- auto routingTableHistory = RoutingTableHistory::makeNew(
+ auto rt = RoutingTableHistory::makeNew(
kNss, UUID::gen(), shardKeyPattern, nullptr, true, collEpoch, boost::none, chunks);
- return CollectionMetadata(
- ChunkManager(
- ShardId("Shard0"), DatabaseVersion(UUID::gen(), 1), routingTableHistory, boost::none),
- ShardId("shard0"));
+ return CollectionMetadata(ChunkManager(ShardId("Shard0"),
+ DatabaseVersion(UUID::gen(), 1),
+ makeStandaloneRoutingTableHistory(std::move(rt)),
+ boost::none),
+ ShardId("shard0"));
}
ShardId pessimalShardSelector(int i, int nShards, int nChunks) {
@@ -104,10 +109,11 @@ MONGO_COMPILER_NOINLINE auto runIncrementalUpdate(const CollectionMetadata& cm,
const std::vector<ChunkType>& newChunks) {
auto rt =
cm.getChunkManager()->getRoutingTableHistory_ForTest().makeUpdated(boost::none, newChunks);
-
- return std::make_unique<CollectionMetadata>(
- ChunkManager(ShardId("shard0"), DatabaseVersion(UUID::gen(), 1), rt, boost::none),
- ShardId("shard0"));
+ return CollectionMetadata(ChunkManager(ShardId("shard0"),
+ DatabaseVersion(UUID::gen(), 1),
+ makeStandaloneRoutingTableHistory(std::move(rt)),
+ boost::none),
+ ShardId("shard0"));
}
void BM_IncrementalRefreshWithNoChange(benchmark::State& state) {
@@ -170,13 +176,14 @@ auto BM_FullBuildOfChunkManager(benchmark::State& state, ShardSelectorFn selectS
}
for (auto keepRunning : state) {
- auto routingTableHistory = RoutingTableHistory::makeNew(
+ auto rt = RoutingTableHistory::makeNew(
collName, UUID::gen(), shardKeyPattern, nullptr, true, collEpoch, boost::none, chunks);
- benchmark::DoNotOptimize(CollectionMetadata(ChunkManager(ShardId("shard0"),
- DatabaseVersion(UUID::gen(), 1),
- routingTableHistory,
- boost::none),
- ShardId("shard0")));
+ benchmark::DoNotOptimize(
+ CollectionMetadata(ChunkManager(ShardId("shard0"),
+ DatabaseVersion(UUID::gen(), 1),
+ makeStandaloneRoutingTableHistory(std::move(rt)),
+ boost::none),
+ ShardId("shard0")));
}
}