SERVER-112894 Add module annotations to timeseries bucket catalog (#43106)

GitOrigin-RevId: be698d9220a84d953f578b9ea95af626929a8975
This commit is contained in:
Thomas Goyne 2025-11-03 09:03:44 -08:00 committed by MongoDB Bot
parent c4fe7575ce
commit 3361d2c31f
19 changed files with 53 additions and 71 deletions

View File

@ -754,7 +754,14 @@ networking.mongo_bridge:
files: files:
- src/mongo/tools/mongobridge_tool/ - 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: meta:
slack: server-storage-execution slack: server-storage-execution
jira: Storage Execution jira: Storage Execution
@ -767,7 +774,6 @@ collection_write_path: # authoritative: @10gen/server-collection-write-path
jira: Storage Execution jira: Storage Execution
files: files:
- src/mongo/db/collection_crud - src/mongo/db/collection_crud
- src/mongo/db/timeseries # excluding ./bucket_catalog
- src/mongo/db/commands/collection_to_capped* - src/mongo/db/commands/collection_to_capped*
bsoncolumn: # authoritative: @10gen/server-bsoncolumn bsoncolumn: # authoritative: @10gen/server-bsoncolumn

View File

@ -32,7 +32,6 @@
#include "mongo/base/string_data.h" #include "mongo/base/string_data.h"
#include "mongo/bson/bsonobj.h" #include "mongo/bson/bsonobj.h"
#include "mongo/db/operation_id.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_identifiers.h"
#include "mongo/db/timeseries/bucket_catalog/bucket_state_registry.h" #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/execution_stats.h"
@ -41,10 +40,10 @@
#include "mongo/db/timeseries/bucket_catalog/rollover.h" #include "mongo/db/timeseries/bucket_catalog/rollover.h"
#include "mongo/db/timeseries/bucket_catalog/tracking_contexts.h" #include "mongo/db/timeseries/bucket_catalog/tracking_contexts.h"
#include "mongo/db/timeseries/bucket_catalog/write_batch.h" #include "mongo/db/timeseries/bucket_catalog/write_batch.h"
#include "mongo/util/modules.h"
#include "mongo/util/string_map.h" #include "mongo/util/string_map.h"
#include "mongo/util/time_support.h" #include "mongo/util/time_support.h"
#include "mongo/util/tracking/list.h" #include "mongo/util/tracking/list.h"
#include "mongo/util/tracking/set.h"
#include <cstddef> #include <cstddef>
#include <cstdint> #include <cstdint>
@ -52,9 +51,9 @@
#include <memory> #include <memory>
#include <boost/container/small_vector.hpp> #include <boost/container/small_vector.hpp>
#include <boost/none.hpp>
#include <boost/optional/optional.hpp> #include <boost/optional/optional.hpp>
MONGO_MOD_PUBLIC;
namespace mongo::timeseries::bucket_catalog { namespace mongo::timeseries::bucket_catalog {
/** /**

View File

@ -39,7 +39,6 @@
#include "mongo/db/timeseries/bucket_catalog/global_bucket_catalog.h" #include "mongo/db/timeseries/bucket_catalog/global_bucket_catalog.h"
#include "mongo/db/timeseries/bucket_catalog/rollover.h" #include "mongo/db/timeseries/bucket_catalog/rollover.h"
#include "mongo/db/timeseries/bucket_compression.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/db/timeseries/timeseries_constants.h"
#include "mongo/util/assert_util.h" #include "mongo/util/assert_util.h"
#include "mongo/util/fail_point.h" #include "mongo/util/fail_point.h"
@ -49,10 +48,6 @@
#include <absl/container/node_hash_map.h> #include <absl/container/node_hash_map.h>
#include <absl/meta/type_traits.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 #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) { uint64_t getMemoryUsage(const BucketCatalog& catalog) {
#ifndef MONGO_CONFIG_DEBUG_BUILD #ifndef MONGO_CONFIG_DEBUG_BUILD
return catalog.trackingContexts.global.allocated(); return catalog.trackingContexts.global.allocated();

View File

@ -40,13 +40,17 @@
#include "mongo/db/timeseries/bucket_catalog/bucket_state_registry.h" #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/execution_stats.h"
#include "mongo/db/timeseries/bucket_catalog/reopening.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/tracking_contexts.h"
#include "mongo/db/timeseries/bucket_catalog/write_batch.h" #include "mongo/db/timeseries/bucket_catalog/write_batch.h"
#include "mongo/db/timeseries/timeseries_gen.h" #include "mongo/db/timeseries/timeseries_gen.h"
#include "mongo/stdx/mutex.h" #include "mongo/stdx/mutex.h"
#include "mongo/util/modules.h"
#include "mongo/util/tracking/btree_map.h" #include "mongo/util/tracking/btree_map.h"
#include "mongo/util/tracking/flat_hash_set.h" #include "mongo/util/tracking/flat_hash_set.h"
#include "mongo/util/tracking/inlined_vector.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/tracking/unordered_map.h"
#include "mongo/util/uuid.h" #include "mongo/util/uuid.h"
@ -56,11 +60,9 @@
#include <memory> #include <memory>
#include <variant> #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> #include <boost/optional/optional.hpp>
MONGO_MOD_PUBLIC;
namespace mongo::timeseries::bucket_catalog { namespace mongo::timeseries::bucket_catalog {
using StripeNumber = std::uint8_t; using StripeNumber = std::uint8_t;
@ -92,12 +94,6 @@ struct BatchedInsertContext {
const TimeseriesOptions& options; const TimeseriesOptions& options;
ExecutionStatsController stats; ExecutionStatsController stats;
std::vector<BatchedInsertTuple> measurementsTimesAndIndices; std::vector<BatchedInsertTuple> measurementsTimesAndIndices;
BatchedInsertContext(BucketKey&,
StripeNumber,
const TimeseriesOptions&,
ExecutionStatsController&,
std::vector<BatchedInsertTuple>&);
}; };
/** /**

View File

@ -38,6 +38,7 @@
#include "mongo/db/storage/recovery_unit.h" #include "mongo/db/storage/recovery_unit.h"
#include "mongo/db/timeseries/bucket_catalog/bucket_catalog.h" #include "mongo/db/timeseries/bucket_catalog/bucket_catalog.h"
#include "mongo/db/timeseries/bucket_catalog/flat_bson.h" #include "mongo/db/timeseries/bucket_catalog/flat_bson.h"
#include "mongo/util/modules.h"
#include "mongo/util/time_support.h" #include "mongo/util/time_support.h"
#include <cstdint> #include <cstdint>
@ -47,6 +48,7 @@
#include <boost/optional/optional.hpp> #include <boost/optional/optional.hpp>
MONGO_MOD_PUBLIC;
namespace mongo::timeseries::bucket_catalog { namespace mongo::timeseries::bucket_catalog {
/** /**

View File

@ -36,6 +36,7 @@
#include "mongo/bson/oid.h" #include "mongo/bson/oid.h"
#include "mongo/db/local_catalog/collection.h" #include "mongo/db/local_catalog/collection.h"
#include "mongo/db/timeseries/bucket_catalog/bucket.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_identifiers.h"
#include "mongo/db/timeseries/bucket_catalog/bucket_state_registry.h" #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/execution_stats.h"
@ -43,27 +44,18 @@
#include "mongo/db/timeseries/bucket_catalog/write_batch.h" #include "mongo/db/timeseries/bucket_catalog/write_batch.h"
#include "mongo/db/timeseries/timeseries_gen.h" #include "mongo/db/timeseries/timeseries_gen.h"
#include "mongo/util/concurrency/with_lock.h" #include "mongo/util/concurrency/with_lock.h"
#include "mongo/util/modules.h"
#include "mongo/util/time_support.h" #include "mongo/util/time_support.h"
#include <cstdint> #include <cstdint>
#include <functional> #include <functional>
#include <memory> #include <memory>
#include <utility> #include <utility>
#include <variant>
#include <vector> #include <vector>
#include <boost/optional/optional.hpp> #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 { 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. * Function that should run validation against the bucket to ensure it's a proper bucket document.
* Typically, this should execute Collection::checkValidation. * Typically, this should execute Collection::checkValidation.
@ -71,7 +63,7 @@ using BatchedInsertTuple = std::tuple<BSONObj, Date_t, UserBatchIndex>;
using BucketDocumentValidator = using BucketDocumentValidator =
std::function<std::pair<Collection::SchemaValidationResult, Status>(const BSONObj&)>; std::function<std::pair<Collection::SchemaValidationResult, Status>(const BSONObj&)>;
enum class StageInsertBatchResult { enum class MONGO_MOD_PARENT_PRIVATE StageInsertBatchResult {
Success, Success,
RolloverNeeded, RolloverNeeded,
NoMeasurementsStaged, 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 * buckets. Returns a pair of the effective value that respects the absolute bucket max and min
* sizes and the raw value. * sizes and the raw value.
*/ */
MONGO_MOD_PARENT_PRIVATE
std::pair<int32_t, int32_t> getCacheDerivedBucketMaxSize(uint64_t storageCacheSizeBytes, std::pair<int32_t, int32_t> getCacheDerivedBucketMaxSize(uint64_t storageCacheSizeBytes,
int64_t workloadCardinality); int64_t workloadCardinality);
@ -353,6 +346,7 @@ void resetBucketOIDCounter();
/** /**
* Allocates a new bucket and adds it to the catalog. * Allocates a new bucket and adds it to the catalog.
*/ */
MONGO_MOD_PARENT_PRIVATE
Bucket& allocateBucket(BucketCatalog& catalog, Bucket& allocateBucket(BucketCatalog& catalog,
Stripe& stripe, Stripe& stripe,
WithLock stripeLock, WithLock stripeLock,
@ -367,6 +361,7 @@ Bucket& allocateBucket(BucketCatalog& catalog,
* Will also update the bucket catalog stats incNumBucketsKeptOpenDueToLargeMeasurements as * Will also update the bucket catalog stats incNumBucketsKeptOpenDueToLargeMeasurements as
* appropriate. * appropriate.
*/ */
MONGO_MOD_PARENT_PRIVATE
RolloverReason determineRolloverReason(const BSONObj& doc, RolloverReason determineRolloverReason(const BSONObj& doc,
const TimeseriesOptions& timeseriesOptions, const TimeseriesOptions& timeseriesOptions,
int64_t numberOfActiveBuckets, int64_t numberOfActiveBuckets,
@ -433,6 +428,7 @@ void closeArchivedBucket(BucketCatalog& catalog,
* inserted into the provided bucket, returns true. Otherwise, returns false. * inserted into the provided bucket, returns true. Otherwise, returns false.
* Also increments `currentPosition` to one past the index of the last measurement inserted. * Also increments `currentPosition` to one past the index of the last measurement inserted.
*/ */
MONGO_MOD_PARENT_PRIVATE
StageInsertBatchResult stageInsertBatchIntoEligibleBucket(BucketCatalog& catalog, StageInsertBatchResult stageInsertBatchIntoEligibleBucket(BucketCatalog& catalog,
OperationId opId, OperationId opId,
const StringDataComparator* comparator, const StringDataComparator* comparator,

View File

@ -31,11 +31,13 @@
#include "mongo/bson/oid.h" #include "mongo/bson/oid.h"
#include "mongo/db/timeseries/bucket_catalog/bucket_metadata.h" #include "mongo/db/timeseries/bucket_catalog/bucket_metadata.h"
#include "mongo/util/modules.h"
#include "mongo/util/uuid.h" #include "mongo/util/uuid.h"
#include <cstddef> #include <cstddef>
#include <cstdint> #include <cstdint>
MONGO_MOD_PUBLIC;
namespace mongo::timeseries::bucket_catalog { namespace mongo::timeseries::bucket_catalog {
/** /**

View File

@ -33,9 +33,6 @@
#include "mongo/bson/util/builder.h" #include "mongo/bson/util/builder.h"
#include "mongo/db/timeseries/metadata.h" #include "mongo/db/timeseries/metadata.h"
#include <boost/move/utility_core.hpp>
#include <boost/optional/optional.hpp>
namespace mongo::timeseries::bucket_catalog { namespace mongo::timeseries::bucket_catalog {
BucketMetadata::BucketMetadata(tracking::Context& trackingContext, BucketMetadata::BucketMetadata(tracking::Context& trackingContext,

View File

@ -32,6 +32,7 @@
#include "mongo/base/string_data.h" #include "mongo/base/string_data.h"
#include "mongo/bson/bsonelement.h" #include "mongo/bson/bsonelement.h"
#include "mongo/bson/bsonobj.h" #include "mongo/bson/bsonobj.h"
#include "mongo/util/modules.h"
#include "mongo/util/shared_buffer.h" #include "mongo/util/shared_buffer.h"
#include "mongo/util/tracking/allocator.h" #include "mongo/util/tracking/allocator.h"
#include "mongo/util/tracking/context.h" #include "mongo/util/tracking/context.h"
@ -40,6 +41,7 @@
#include <absl/strings/string_view.h> #include <absl/strings/string_view.h>
#include <boost/optional/optional.hpp> #include <boost/optional/optional.hpp>
MONGO_MOD_PUBLIC;
namespace mongo::timeseries::bucket_catalog { namespace mongo::timeseries::bucket_catalog {
struct BucketMetadata { struct BucketMetadata {
@ -49,7 +51,6 @@ public:
boost::optional<StringData> trueMetaFieldName); boost::optional<StringData> trueMetaFieldName);
bool operator==(const BucketMetadata& other) const; bool operator==(const BucketMetadata& other) const;
bool operator!=(const BucketMetadata& other) const;
BSONObj toBSON() const; BSONObj toBSON() const;
BSONElement element() const; BSONElement element() const;

View File

@ -33,6 +33,7 @@
#include "mongo/bson/bsonobjbuilder.h" #include "mongo/bson/bsonobjbuilder.h"
#include "mongo/db/timeseries/bucket_catalog/bucket_identifiers.h" #include "mongo/db/timeseries/bucket_catalog/bucket_identifiers.h"
#include "mongo/stdx/mutex.h" #include "mongo/stdx/mutex.h"
#include "mongo/util/modules.h"
#include "mongo/util/tracking/map.h" #include "mongo/util/tracking/map.h"
#include "mongo/util/tracking/unordered_map.h" #include "mongo/util/tracking/unordered_map.h"
#include "mongo/util/tracking/vector.h" #include "mongo/util/tracking/vector.h"
@ -42,8 +43,6 @@
#include <string> #include <string>
#include <variant> #include <variant>
#include <boost/move/utility_core.hpp>
#include <boost/none.hpp>
#include <boost/optional/optional.hpp> #include <boost/optional/optional.hpp>
namespace mongo::timeseries::bucket_catalog { namespace mongo::timeseries::bucket_catalog {
@ -89,11 +88,11 @@ enum class BucketState : uint8_t {
// Cannot accept inserts and will continue to not accept inserts. // Cannot accept inserts and will continue to not accept inserts.
kFrozen, kFrozen,
// Cannot accept inserts, and has an outstanding prepared commit. This // 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. // the writer who prepared the commit.
kPreparedAndCleared, kPreparedAndCleared,
// Cannot accept inserts, and has an outstanding prepared commit. This // 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. // the writer who prepared the commit.
kPreparedAndFrozen, kPreparedAndFrozen,
}; };

View File

@ -31,8 +31,10 @@
#include "mongo/bson/bsonobjbuilder.h" #include "mongo/bson/bsonobjbuilder.h"
#include "mongo/platform/atomic_word.h" #include "mongo/platform/atomic_word.h"
#include "mongo/util/modules.h"
#include "mongo/util/tracking/memory.h" #include "mongo/util/tracking/memory.h"
MONGO_MOD_PUBLIC;
namespace mongo::timeseries::bucket_catalog { namespace mongo::timeseries::bucket_catalog {
struct ExecutionStats { struct ExecutionStats {

View File

@ -32,6 +32,7 @@
#include "mongo/base/string_data.h" #include "mongo/base/string_data.h"
#include "mongo/bson/bsonelement.h" #include "mongo/bson/bsonelement.h"
#include "mongo/bson/bsontypes.h" #include "mongo/bson/bsontypes.h"
#include "mongo/util/modules.h"
#include "mongo/util/tracking/string_map.h" #include "mongo/util/tracking/string_map.h"
#include "mongo/util/tracking/vector.h" #include "mongo/util/tracking/vector.h"
@ -50,7 +51,7 @@
namespace mongo::timeseries::bucket_catalog { 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 * 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 * 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 * 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. * Updates the stored fields provided by 'doc', ignoring the 'metaField' field.
*/ */
MONGO_MOD_PUBLIC
UpdateStatus update(const BSONObj& doc, UpdateStatus update(const BSONObj& doc,
boost::optional<StringData> metaField, boost::optional<StringData> metaField,
const StringDataComparator* stringComparator); const StringDataComparator* stringComparator);
@ -445,7 +447,7 @@ private:
/** /**
* Manages Min and Max values for timeseries measurements within a bucket. * 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>; friend class FlatBSON<MinMax, MinMaxElement, BSONElementValueBuffer>;
public: public:
@ -556,7 +558,7 @@ private:
/** /**
* Manages schema data for timeseries measurements within a bucket. * 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>; friend class FlatBSON<Schema, SchemaElement, BSONTypeValue>;
public: public:

View File

@ -31,7 +31,9 @@
#include "mongo/db/service_context.h" #include "mongo/db/service_context.h"
#include "mongo/db/timeseries/bucket_catalog/bucket_catalog.h" #include "mongo/db/timeseries/bucket_catalog/bucket_catalog.h"
#include "mongo/util/modules.h"
MONGO_MOD_PUBLIC;
namespace mongo::timeseries::bucket_catalog { namespace mongo::timeseries::bucket_catalog {
/** /**

View File

@ -32,11 +32,13 @@
#include "mongo/base/string_data.h" #include "mongo/base/string_data.h"
#include "mongo/bson/bsonelement.h" #include "mongo/bson/bsonelement.h"
#include "mongo/bson/column/bsoncolumnbuilder.h" #include "mongo/bson/column/bsoncolumnbuilder.h"
#include "mongo/util/modules.h"
#include "mongo/util/tracking/string_map.h" #include "mongo/util/tracking/string_map.h"
#include <utility> #include <utility>
#include <vector> #include <vector>
MONGO_MOD_PARENT_PRIVATE;
namespace mongo::timeseries::bucket_catalog { namespace mongo::timeseries::bucket_catalog {
/** /**

View File

@ -33,8 +33,8 @@
#include "mongo/db/timeseries/bucket_catalog/bucket_identifiers.h" #include "mongo/db/timeseries/bucket_catalog/bucket_identifiers.h"
#include "mongo/db/timeseries/bucket_catalog/execution_stats.h" #include "mongo/db/timeseries/bucket_catalog/execution_stats.h"
#include "mongo/util/future.h" #include "mongo/util/future.h"
#include "mongo/util/modules.h"
#include <boost/none.hpp>
#include <boost/optional/optional.hpp> #include <boost/optional/optional.hpp>
namespace mongo::timeseries::bucket_catalog { namespace mongo::timeseries::bucket_catalog {

View File

@ -29,6 +29,9 @@
#pragma once #pragma once
#include "mongo/util/modules.h"
MONGO_MOD_PARENT_PRIVATE;
namespace mongo::timeseries::bucket_catalog { namespace mongo::timeseries::bucket_catalog {
/** /**

View File

@ -29,8 +29,10 @@
#pragma once #pragma once
#include "mongo/util/modules.h"
#include "mongo/util/tracking/context.h" #include "mongo/util/tracking/context.h"
MONGO_MOD_PARENT_PRIVATE;
namespace mongo::timeseries::bucket_catalog { namespace mongo::timeseries::bucket_catalog {
/** /**

View File

@ -29,11 +29,8 @@
#pragma once #pragma once
#include "mongo/base/status_with.h"
#include "mongo/bson/bsonobj.h" #include "mongo/bson/bsonobj.h"
#include "mongo/bson/oid.h"
#include "mongo/db/operation_id.h" #include "mongo/db/operation_id.h"
#include "mongo/db/repl/optime.h"
#include "mongo/db/session/logical_session_id.h" #include "mongo/db/session/logical_session_id.h"
#include "mongo/db/timeseries/bucket_catalog/bucket_identifiers.h" #include "mongo/db/timeseries/bucket_catalog/bucket_identifiers.h"
#include "mongo/db/timeseries/bucket_catalog/execution_stats.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/db/timeseries/bucket_catalog/tracking_contexts.h"
#include "mongo/util/future.h" #include "mongo/util/future.h"
#include "mongo/util/future_impl.h" #include "mongo/util/future_impl.h"
#include "mongo/util/modules.h"
#include "mongo/util/string_map.h" #include "mongo/util/string_map.h"
#include <cstddef> #include <cstddef>
#include <cstdint> #include <cstdint>
#include <boost/container/small_vector.hpp> #include <boost/container/small_vector.hpp>
#include <boost/move/utility_core.hpp>
#include <boost/optional/optional.hpp> #include <boost/optional/optional.hpp>
MONGO_MOD_PUBLIC;
namespace mongo::timeseries::bucket_catalog { namespace mongo::timeseries::bucket_catalog {
struct Bucket;
using UserBatchIndex = size_t; using UserBatchIndex = size_t;
struct Sizes { struct Sizes {

View File

@ -27,28 +27,21 @@
* it in the license file. * 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/error_codes.h"
#include "mongo/base/status.h" #include "mongo/base/status.h"
#include "mongo/base/string_data.h" #include "mongo/base/string_data.h"
#include "mongo/bson/bsonmisc.h"
#include "mongo/bson/bsonobjbuilder.h" #include "mongo/bson/bsonobjbuilder.h"
#include "mongo/bson/oid.h" #include "mongo/bson/oid.h"
#include "mongo/bson/timestamp.h" #include "mongo/bson/timestamp.h"
#include "mongo/bson/util/builder.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/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/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/collection_routing_info_targeter.h"
#include "mongo/db/global_catalog/router_role_api/mock_ns_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/global_catalog/shard_key_pattern.h"
#include "mongo/db/namespace_string.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/query/write_ops/write_ops_gen.h"
#include "mongo/db/repl/read_concern_args.h" #include "mongo/db/repl/read_concern_args.h"
#include "mongo/db/repl/read_concern_level.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.h"
#include "mongo/db/versioning_protocol/shard_version_factory.h" #include "mongo/db/versioning_protocol/shard_version_factory.h"
#include "mongo/db/versioning_protocol/stale_exception.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/session_catalog_router.h"
#include "mongo/s/transaction_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/s/write_ops/batched_command_request.h"
#include "mongo/unittest/unittest.h" #include "mongo/unittest/unittest.h"
#include "mongo/util/fail_point.h" #include "mongo/util/fail_point.h"
@ -75,6 +66,8 @@
#include <string> #include <string>
#include <utility> #include <utility>
#include <boost/optional/optional.hpp>
namespace mongo { namespace mongo {
namespace { namespace {