mirror of https://github.com/mongodb/mongo
SERVER-112894 Add module annotations to timeseries bucket catalog (#43106)
GitOrigin-RevId: be698d9220a84d953f578b9ea95af626929a8975
This commit is contained in:
parent
c4fe7575ce
commit
3361d2c31f
|
|
@ -754,7 +754,14 @@ networking.mongo_bridge:
|
|||
files:
|
||||
- src/mongo/tools/mongobridge_tool/
|
||||
|
||||
timeseries_bucket_catalog: # authoritative: @10gen/server-timeseries-bucket-catalog
|
||||
timeseries: # authoritative: @10gen/server-collection-write-path
|
||||
meta:
|
||||
slack: server-storage-execution
|
||||
jira: Storage Execution
|
||||
files:
|
||||
- src/mongo/db/timeseries # excluding ./bucket_catalog
|
||||
|
||||
timeseries.bucket_catalog: # authoritative: @10gen/server-timeseries-bucket-catalog
|
||||
meta:
|
||||
slack: server-storage-execution
|
||||
jira: Storage Execution
|
||||
|
|
@ -767,7 +774,6 @@ collection_write_path: # authoritative: @10gen/server-collection-write-path
|
|||
jira: Storage Execution
|
||||
files:
|
||||
- src/mongo/db/collection_crud
|
||||
- src/mongo/db/timeseries # excluding ./bucket_catalog
|
||||
- src/mongo/db/commands/collection_to_capped*
|
||||
|
||||
bsoncolumn: # authoritative: @10gen/server-bsoncolumn
|
||||
|
|
|
|||
|
|
@ -32,7 +32,6 @@
|
|||
#include "mongo/base/string_data.h"
|
||||
#include "mongo/bson/bsonobj.h"
|
||||
#include "mongo/db/operation_id.h"
|
||||
#include "mongo/db/repl/optime.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/bucket_identifiers.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/bucket_state_registry.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/execution_stats.h"
|
||||
|
|
@ -41,10 +40,10 @@
|
|||
#include "mongo/db/timeseries/bucket_catalog/rollover.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/tracking_contexts.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/write_batch.h"
|
||||
#include "mongo/util/modules.h"
|
||||
#include "mongo/util/string_map.h"
|
||||
#include "mongo/util/time_support.h"
|
||||
#include "mongo/util/tracking/list.h"
|
||||
#include "mongo/util/tracking/set.h"
|
||||
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
|
@ -52,9 +51,9 @@
|
|||
#include <memory>
|
||||
|
||||
#include <boost/container/small_vector.hpp>
|
||||
#include <boost/none.hpp>
|
||||
#include <boost/optional/optional.hpp>
|
||||
|
||||
MONGO_MOD_PUBLIC;
|
||||
namespace mongo::timeseries::bucket_catalog {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -39,7 +39,6 @@
|
|||
#include "mongo/db/timeseries/bucket_catalog/global_bucket_catalog.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/rollover.h"
|
||||
#include "mongo/db/timeseries/bucket_compression.h"
|
||||
#include "mongo/db/timeseries/bucket_compression_failure.h"
|
||||
#include "mongo/db/timeseries/timeseries_constants.h"
|
||||
#include "mongo/util/assert_util.h"
|
||||
#include "mongo/util/fail_point.h"
|
||||
|
|
@ -49,10 +48,6 @@
|
|||
|
||||
#include <absl/container/node_hash_map.h>
|
||||
#include <absl/meta/type_traits.h>
|
||||
#include <boost/container/small_vector.hpp>
|
||||
#include <boost/container/vector.hpp>
|
||||
#include <boost/move/utility_core.hpp>
|
||||
#include <boost/optional/optional.hpp>
|
||||
|
||||
#define MONGO_LOGV2_DEFAULT_COMPONENT ::mongo::logv2::LogComponent::kStorage
|
||||
|
||||
|
|
@ -175,18 +170,6 @@ BucketCatalog::BucketCatalog(size_t numberOfStripes, std::function<uint64_t()> m
|
|||
});
|
||||
}
|
||||
|
||||
BatchedInsertContext::BatchedInsertContext(
|
||||
BucketKey& bucketKey,
|
||||
StripeNumber stripeNumber,
|
||||
const TimeseriesOptions& options,
|
||||
ExecutionStatsController& stats,
|
||||
std::vector<BatchedInsertTuple>& measurementsTimesAndIndices)
|
||||
: key(std::move(bucketKey)),
|
||||
stripeNumber(stripeNumber),
|
||||
options(options),
|
||||
stats(stats),
|
||||
measurementsTimesAndIndices(measurementsTimesAndIndices) {};
|
||||
|
||||
uint64_t getMemoryUsage(const BucketCatalog& catalog) {
|
||||
#ifndef MONGO_CONFIG_DEBUG_BUILD
|
||||
return catalog.trackingContexts.global.allocated();
|
||||
|
|
|
|||
|
|
@ -40,13 +40,17 @@
|
|||
#include "mongo/db/timeseries/bucket_catalog/bucket_state_registry.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/execution_stats.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/reopening.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/rollover.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/tracking_contexts.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/write_batch.h"
|
||||
#include "mongo/db/timeseries/timeseries_gen.h"
|
||||
#include "mongo/stdx/mutex.h"
|
||||
#include "mongo/util/modules.h"
|
||||
#include "mongo/util/tracking/btree_map.h"
|
||||
#include "mongo/util/tracking/flat_hash_set.h"
|
||||
#include "mongo/util/tracking/inlined_vector.h"
|
||||
#include "mongo/util/tracking/list.h"
|
||||
#include "mongo/util/tracking/memory.h"
|
||||
#include "mongo/util/tracking/unordered_map.h"
|
||||
#include "mongo/util/uuid.h"
|
||||
|
||||
|
|
@ -56,11 +60,9 @@
|
|||
#include <memory>
|
||||
#include <variant>
|
||||
|
||||
#include <absl/container/inlined_vector.h>
|
||||
#include <boost/container/static_vector.hpp>
|
||||
#include <boost/move/utility_core.hpp>
|
||||
#include <boost/optional/optional.hpp>
|
||||
|
||||
MONGO_MOD_PUBLIC;
|
||||
namespace mongo::timeseries::bucket_catalog {
|
||||
|
||||
using StripeNumber = std::uint8_t;
|
||||
|
|
@ -92,12 +94,6 @@ struct BatchedInsertContext {
|
|||
const TimeseriesOptions& options;
|
||||
ExecutionStatsController stats;
|
||||
std::vector<BatchedInsertTuple> measurementsTimesAndIndices;
|
||||
|
||||
BatchedInsertContext(BucketKey&,
|
||||
StripeNumber,
|
||||
const TimeseriesOptions&,
|
||||
ExecutionStatsController&,
|
||||
std::vector<BatchedInsertTuple>&);
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@
|
|||
#include "mongo/db/storage/recovery_unit.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/bucket_catalog.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/flat_bson.h"
|
||||
#include "mongo/util/modules.h"
|
||||
#include "mongo/util/time_support.h"
|
||||
|
||||
#include <cstdint>
|
||||
|
|
@ -47,6 +48,7 @@
|
|||
|
||||
#include <boost/optional/optional.hpp>
|
||||
|
||||
MONGO_MOD_PUBLIC;
|
||||
namespace mongo::timeseries::bucket_catalog {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@
|
|||
#include "mongo/bson/oid.h"
|
||||
#include "mongo/db/local_catalog/collection.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/bucket.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/bucket_catalog.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/bucket_identifiers.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/bucket_state_registry.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/execution_stats.h"
|
||||
|
|
@ -43,27 +44,18 @@
|
|||
#include "mongo/db/timeseries/bucket_catalog/write_batch.h"
|
||||
#include "mongo/db/timeseries/timeseries_gen.h"
|
||||
#include "mongo/util/concurrency/with_lock.h"
|
||||
#include "mongo/util/modules.h"
|
||||
#include "mongo/util/time_support.h"
|
||||
|
||||
#include <cstdint>
|
||||
#include <functional>
|
||||
#include <memory>
|
||||
#include <utility>
|
||||
#include <variant>
|
||||
#include <vector>
|
||||
|
||||
#include <boost/optional/optional.hpp>
|
||||
|
||||
namespace mongo::timeseries::bucket_catalog {
|
||||
struct Stripe;
|
||||
class BucketCatalog;
|
||||
struct BatchedInsertContext;
|
||||
} // namespace mongo::timeseries::bucket_catalog
|
||||
|
||||
namespace mongo::timeseries::bucket_catalog::internal {
|
||||
|
||||
using StripeNumber = std::uint8_t;
|
||||
using BatchedInsertTuple = std::tuple<BSONObj, Date_t, UserBatchIndex>;
|
||||
/**
|
||||
* Function that should run validation against the bucket to ensure it's a proper bucket document.
|
||||
* Typically, this should execute Collection::checkValidation.
|
||||
|
|
@ -71,7 +63,7 @@ using BatchedInsertTuple = std::tuple<BSONObj, Date_t, UserBatchIndex>;
|
|||
using BucketDocumentValidator =
|
||||
std::function<std::pair<Collection::SchemaValidationResult, Status>(const BSONObj&)>;
|
||||
|
||||
enum class StageInsertBatchResult {
|
||||
enum class MONGO_MOD_PARENT_PRIVATE StageInsertBatchResult {
|
||||
Success,
|
||||
RolloverNeeded,
|
||||
NoMeasurementsStaged,
|
||||
|
|
@ -264,6 +256,7 @@ boost::optional<OID> findArchivedCandidate(BucketCatalog& catalog,
|
|||
* buckets. Returns a pair of the effective value that respects the absolute bucket max and min
|
||||
* sizes and the raw value.
|
||||
*/
|
||||
MONGO_MOD_PARENT_PRIVATE
|
||||
std::pair<int32_t, int32_t> getCacheDerivedBucketMaxSize(uint64_t storageCacheSizeBytes,
|
||||
int64_t workloadCardinality);
|
||||
|
||||
|
|
@ -353,6 +346,7 @@ void resetBucketOIDCounter();
|
|||
/**
|
||||
* Allocates a new bucket and adds it to the catalog.
|
||||
*/
|
||||
MONGO_MOD_PARENT_PRIVATE
|
||||
Bucket& allocateBucket(BucketCatalog& catalog,
|
||||
Stripe& stripe,
|
||||
WithLock stripeLock,
|
||||
|
|
@ -367,6 +361,7 @@ Bucket& allocateBucket(BucketCatalog& catalog,
|
|||
* Will also update the bucket catalog stats incNumBucketsKeptOpenDueToLargeMeasurements as
|
||||
* appropriate.
|
||||
*/
|
||||
MONGO_MOD_PARENT_PRIVATE
|
||||
RolloverReason determineRolloverReason(const BSONObj& doc,
|
||||
const TimeseriesOptions& timeseriesOptions,
|
||||
int64_t numberOfActiveBuckets,
|
||||
|
|
@ -433,6 +428,7 @@ void closeArchivedBucket(BucketCatalog& catalog,
|
|||
* inserted into the provided bucket, returns true. Otherwise, returns false.
|
||||
* Also increments `currentPosition` to one past the index of the last measurement inserted.
|
||||
*/
|
||||
MONGO_MOD_PARENT_PRIVATE
|
||||
StageInsertBatchResult stageInsertBatchIntoEligibleBucket(BucketCatalog& catalog,
|
||||
OperationId opId,
|
||||
const StringDataComparator* comparator,
|
||||
|
|
|
|||
|
|
@ -31,11 +31,13 @@
|
|||
|
||||
#include "mongo/bson/oid.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/bucket_metadata.h"
|
||||
#include "mongo/util/modules.h"
|
||||
#include "mongo/util/uuid.h"
|
||||
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
MONGO_MOD_PUBLIC;
|
||||
namespace mongo::timeseries::bucket_catalog {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -33,9 +33,6 @@
|
|||
#include "mongo/bson/util/builder.h"
|
||||
#include "mongo/db/timeseries/metadata.h"
|
||||
|
||||
#include <boost/move/utility_core.hpp>
|
||||
#include <boost/optional/optional.hpp>
|
||||
|
||||
namespace mongo::timeseries::bucket_catalog {
|
||||
|
||||
BucketMetadata::BucketMetadata(tracking::Context& trackingContext,
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@
|
|||
#include "mongo/base/string_data.h"
|
||||
#include "mongo/bson/bsonelement.h"
|
||||
#include "mongo/bson/bsonobj.h"
|
||||
#include "mongo/util/modules.h"
|
||||
#include "mongo/util/shared_buffer.h"
|
||||
#include "mongo/util/tracking/allocator.h"
|
||||
#include "mongo/util/tracking/context.h"
|
||||
|
|
@ -40,6 +41,7 @@
|
|||
#include <absl/strings/string_view.h>
|
||||
#include <boost/optional/optional.hpp>
|
||||
|
||||
MONGO_MOD_PUBLIC;
|
||||
namespace mongo::timeseries::bucket_catalog {
|
||||
|
||||
struct BucketMetadata {
|
||||
|
|
@ -49,7 +51,6 @@ public:
|
|||
boost::optional<StringData> trueMetaFieldName);
|
||||
|
||||
bool operator==(const BucketMetadata& other) const;
|
||||
bool operator!=(const BucketMetadata& other) const;
|
||||
|
||||
BSONObj toBSON() const;
|
||||
BSONElement element() const;
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@
|
|||
#include "mongo/bson/bsonobjbuilder.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/bucket_identifiers.h"
|
||||
#include "mongo/stdx/mutex.h"
|
||||
#include "mongo/util/modules.h"
|
||||
#include "mongo/util/tracking/map.h"
|
||||
#include "mongo/util/tracking/unordered_map.h"
|
||||
#include "mongo/util/tracking/vector.h"
|
||||
|
|
@ -42,8 +43,6 @@
|
|||
#include <string>
|
||||
#include <variant>
|
||||
|
||||
#include <boost/move/utility_core.hpp>
|
||||
#include <boost/none.hpp>
|
||||
#include <boost/optional/optional.hpp>
|
||||
|
||||
namespace mongo::timeseries::bucket_catalog {
|
||||
|
|
@ -89,11 +88,11 @@ enum class BucketState : uint8_t {
|
|||
// Cannot accept inserts and will continue to not accept inserts.
|
||||
kFrozen,
|
||||
// Cannot accept inserts, and has an outstanding prepared commit. This
|
||||
// state will propogate WriteConflictExceptions to all writers aside from
|
||||
// state will propagate WriteConflictExceptions to all writers aside from
|
||||
// the writer who prepared the commit.
|
||||
kPreparedAndCleared,
|
||||
// Cannot accept inserts, and has an outstanding prepared commit. This
|
||||
// state will propogate WriteConflictExceptions to all writers aside from
|
||||
// state will propagate WriteConflictExceptions to all writers aside from
|
||||
// the writer who prepared the commit.
|
||||
kPreparedAndFrozen,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -31,8 +31,10 @@
|
|||
|
||||
#include "mongo/bson/bsonobjbuilder.h"
|
||||
#include "mongo/platform/atomic_word.h"
|
||||
#include "mongo/util/modules.h"
|
||||
#include "mongo/util/tracking/memory.h"
|
||||
|
||||
MONGO_MOD_PUBLIC;
|
||||
namespace mongo::timeseries::bucket_catalog {
|
||||
|
||||
struct ExecutionStats {
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@
|
|||
#include "mongo/base/string_data.h"
|
||||
#include "mongo/bson/bsonelement.h"
|
||||
#include "mongo/bson/bsontypes.h"
|
||||
#include "mongo/util/modules.h"
|
||||
#include "mongo/util/tracking/string_map.h"
|
||||
#include "mongo/util/tracking/vector.h"
|
||||
|
||||
|
|
@ -50,7 +51,7 @@
|
|||
namespace mongo::timeseries::bucket_catalog {
|
||||
|
||||
/**
|
||||
* Stores a BSON hierarchy in a flat contigous memory structure. Optimized for fast traversal
|
||||
* Stores a BSON hierarchy in a flat contiguous memory structure. Optimized for fast traversal
|
||||
* in lock-step of a BSONObj with the same internal field order. It does this at the expense of
|
||||
* insert performance which should be a rare operation when adding measurements to a timeseries
|
||||
* bucket. Usually we need to traverse the FlatBSONStore structure to check if we need to update any
|
||||
|
|
@ -306,6 +307,7 @@ public:
|
|||
/**
|
||||
* Updates the stored fields provided by 'doc', ignoring the 'metaField' field.
|
||||
*/
|
||||
MONGO_MOD_PUBLIC
|
||||
UpdateStatus update(const BSONObj& doc,
|
||||
boost::optional<StringData> metaField,
|
||||
const StringDataComparator* stringComparator);
|
||||
|
|
@ -445,7 +447,7 @@ private:
|
|||
/**
|
||||
* Manages Min and Max values for timeseries measurements within a bucket.
|
||||
*/
|
||||
class MinMax : public FlatBSON<MinMax, MinMaxElement, BSONElementValueBuffer> {
|
||||
class MONGO_MOD_PUBLIC MinMax : public FlatBSON<MinMax, MinMaxElement, BSONElementValueBuffer> {
|
||||
friend class FlatBSON<MinMax, MinMaxElement, BSONElementValueBuffer>;
|
||||
|
||||
public:
|
||||
|
|
@ -556,7 +558,7 @@ private:
|
|||
/**
|
||||
* Manages schema data for timeseries measurements within a bucket.
|
||||
*/
|
||||
class Schema : public FlatBSON<Schema, SchemaElement, BSONTypeValue> {
|
||||
class MONGO_MOD_PUBLIC Schema : public FlatBSON<Schema, SchemaElement, BSONTypeValue> {
|
||||
friend class FlatBSON<Schema, SchemaElement, BSONTypeValue>;
|
||||
|
||||
public:
|
||||
|
|
|
|||
|
|
@ -31,7 +31,9 @@
|
|||
|
||||
#include "mongo/db/service_context.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/bucket_catalog.h"
|
||||
#include "mongo/util/modules.h"
|
||||
|
||||
MONGO_MOD_PUBLIC;
|
||||
namespace mongo::timeseries::bucket_catalog {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -32,11 +32,13 @@
|
|||
#include "mongo/base/string_data.h"
|
||||
#include "mongo/bson/bsonelement.h"
|
||||
#include "mongo/bson/column/bsoncolumnbuilder.h"
|
||||
#include "mongo/util/modules.h"
|
||||
#include "mongo/util/tracking/string_map.h"
|
||||
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
MONGO_MOD_PARENT_PRIVATE;
|
||||
namespace mongo::timeseries::bucket_catalog {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -33,8 +33,8 @@
|
|||
#include "mongo/db/timeseries/bucket_catalog/bucket_identifiers.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/execution_stats.h"
|
||||
#include "mongo/util/future.h"
|
||||
#include "mongo/util/modules.h"
|
||||
|
||||
#include <boost/none.hpp>
|
||||
#include <boost/optional/optional.hpp>
|
||||
|
||||
namespace mongo::timeseries::bucket_catalog {
|
||||
|
|
|
|||
|
|
@ -29,6 +29,9 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include "mongo/util/modules.h"
|
||||
|
||||
MONGO_MOD_PARENT_PRIVATE;
|
||||
namespace mongo::timeseries::bucket_catalog {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -29,8 +29,10 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include "mongo/util/modules.h"
|
||||
#include "mongo/util/tracking/context.h"
|
||||
|
||||
MONGO_MOD_PARENT_PRIVATE;
|
||||
namespace mongo::timeseries::bucket_catalog {
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -29,11 +29,8 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include "mongo/base/status_with.h"
|
||||
#include "mongo/bson/bsonobj.h"
|
||||
#include "mongo/bson/oid.h"
|
||||
#include "mongo/db/operation_id.h"
|
||||
#include "mongo/db/repl/optime.h"
|
||||
#include "mongo/db/session/logical_session_id.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/bucket_identifiers.h"
|
||||
#include "mongo/db/timeseries/bucket_catalog/execution_stats.h"
|
||||
|
|
@ -41,19 +38,17 @@
|
|||
#include "mongo/db/timeseries/bucket_catalog/tracking_contexts.h"
|
||||
#include "mongo/util/future.h"
|
||||
#include "mongo/util/future_impl.h"
|
||||
#include "mongo/util/modules.h"
|
||||
#include "mongo/util/string_map.h"
|
||||
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
#include <boost/container/small_vector.hpp>
|
||||
#include <boost/move/utility_core.hpp>
|
||||
#include <boost/optional/optional.hpp>
|
||||
|
||||
MONGO_MOD_PUBLIC;
|
||||
namespace mongo::timeseries::bucket_catalog {
|
||||
|
||||
struct Bucket;
|
||||
|
||||
using UserBatchIndex = size_t;
|
||||
|
||||
struct Sizes {
|
||||
|
|
|
|||
|
|
@ -27,28 +27,21 @@
|
|||
* it in the license file.
|
||||
*/
|
||||
|
||||
#include "mongo/db/timeseries/bucket_catalog/bucket_state_registry.h"
|
||||
#include "mongo/s/write_ops/batch_write_op.h"
|
||||
|
||||
#include <boost/move/utility_core.hpp>
|
||||
#include <boost/none.hpp>
|
||||
#include <boost/optional/optional.hpp>
|
||||
// IWYU pragma: no_include "ext/alloc_traits.h"
|
||||
#include "mongo/base/error_codes.h"
|
||||
#include "mongo/base/status.h"
|
||||
#include "mongo/base/string_data.h"
|
||||
#include "mongo/bson/bsonmisc.h"
|
||||
#include "mongo/bson/bsonobjbuilder.h"
|
||||
#include "mongo/bson/oid.h"
|
||||
#include "mongo/bson/timestamp.h"
|
||||
#include "mongo/bson/util/builder.h"
|
||||
#include "mongo/db/global_catalog/catalog_cache/catalog_cache.h"
|
||||
#include "mongo/db/global_catalog/catalog_cache/catalog_cache_test_fixture.h"
|
||||
#include "mongo/db/global_catalog/catalog_cache/shard_cannot_refresh_due_to_locks_held_exception.h"
|
||||
#include "mongo/db/global_catalog/router_role_api/collection_routing_info_targeter.h"
|
||||
#include "mongo/db/global_catalog/router_role_api/mock_ns_targeter.h"
|
||||
#include "mongo/db/global_catalog/shard_key_pattern.h"
|
||||
#include "mongo/db/namespace_string.h"
|
||||
#include "mongo/db/query/collation/collator_interface.h"
|
||||
#include "mongo/db/query/write_ops/write_ops_gen.h"
|
||||
#include "mongo/db/repl/read_concern_args.h"
|
||||
#include "mongo/db/repl/read_concern_level.h"
|
||||
|
|
@ -62,10 +55,8 @@
|
|||
#include "mongo/db/versioning_protocol/shard_version.h"
|
||||
#include "mongo/db/versioning_protocol/shard_version_factory.h"
|
||||
#include "mongo/db/versioning_protocol/stale_exception.h"
|
||||
#include "mongo/idl/server_parameter_test_controller.h"
|
||||
#include "mongo/s/session_catalog_router.h"
|
||||
#include "mongo/s/transaction_router.h"
|
||||
#include "mongo/s/write_ops/batch_write_op.h"
|
||||
#include "mongo/s/write_ops/batched_command_request.h"
|
||||
#include "mongo/unittest/unittest.h"
|
||||
#include "mongo/util/fail_point.h"
|
||||
|
|
@ -75,6 +66,8 @@
|
|||
#include <string>
|
||||
#include <utility>
|
||||
|
||||
#include <boost/optional/optional.hpp>
|
||||
|
||||
namespace mongo {
|
||||
namespace {
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue