summaryrefslogtreecommitdiff
path: root/src/mongo
diff options
context:
space:
mode:
authorKaloian Manassiev <kaloian.manassiev@mongodb.com>2023-05-02 16:09:18 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-05-02 18:05:47 +0000
commita575d9b94d4f44c5c33dd17050369c53ae179790 (patch)
treefc57fcc2023c5125ff10f7306843fbc9b5ff84c1 /src/mongo
parenta6d790a62c82d3f841b4b475324cbd523fad38ac (diff)
downloadmongo-a575d9b94d4f44c5c33dd17050369c53ae179790.tar.gz
SERVER-73468 Break dependency of commands on op_metrics
Diffstat (limited to 'src/mongo')
-rw-r--r--src/mongo/db/SConscript35
-rw-r--r--src/mongo/db/auth/SConscript3
-rw-r--r--src/mongo/db/auth/authorization_manager.cpp2
-rw-r--r--src/mongo/db/auth/authorization_manager.h1
-rw-r--r--src/mongo/db/catalog/SConscript4
-rw-r--r--src/mongo/db/commands/SConscript5
-rw-r--r--src/mongo/db/curop.cpp8
-rw-r--r--src/mongo/db/op_observer/SConscript1
-rw-r--r--src/mongo/db/ops/write_ops_exec.cpp33
-rw-r--r--src/mongo/db/pipeline/process_interface/SConscript4
-rw-r--r--src/mongo/db/query/SConscript15
-rw-r--r--src/mongo/db/query/collation/SConscript8
-rw-r--r--src/mongo/db/serverless/SConscript3
-rw-r--r--src/mongo/db/views/SConscript12
-rw-r--r--src/mongo/embedded/SConscript5
-rw-r--r--src/mongo/s/commands/SConscript2
-rw-r--r--src/mongo/util/SConscript2
17 files changed, 68 insertions, 75 deletions
diff --git a/src/mongo/db/SConscript b/src/mongo/db/SConscript
index a241ab43198..d50945311b4 100644
--- a/src/mongo/db/SConscript
+++ b/src/mongo/db/SConscript
@@ -766,6 +766,7 @@ env.Library(
source=[
'coll_mod_reply_validation.cpp',
'commands.cpp',
+ 'curop.cpp',
'drop.idl',
'drop_database.idl',
'explain.idl',
@@ -776,25 +777,38 @@ env.Library(
'api_parameters',
],
LIBDEPS_PRIVATE=[
- '$BUILD_DIR/mongo/base',
'$BUILD_DIR/mongo/bson/mutable/mutable_bson',
- '$BUILD_DIR/mongo/db/auth/auth',
- '$BUILD_DIR/mongo/db/auth/authprivilege',
- '$BUILD_DIR/mongo/db/catalog/collection_options',
- '$BUILD_DIR/mongo/db/commands/create_command',
- '$BUILD_DIR/mongo/db/commands/server_status_core',
- '$BUILD_DIR/mongo/db/commands/test_commands_enabled',
- '$BUILD_DIR/mongo/db/pipeline/change_stream_pre_and_post_images_options',
- '$BUILD_DIR/mongo/db/query/common_query_enums_and_helpers',
- '$BUILD_DIR/mongo/db/timeseries/timeseries_options',
'$BUILD_DIR/mongo/rpc/command_status',
'$BUILD_DIR/mongo/rpc/rewrite_state_change_errors',
'$BUILD_DIR/mongo/rpc/rpc',
+ '$BUILD_DIR/mongo/transport/service_executor',
+ '$BUILD_DIR/mongo/util/concurrency/admission_context',
+ '$BUILD_DIR/mongo/util/diagnostic_info'
+ if get_option('use-diagnostic-latches') == 'on' else [],
'$BUILD_DIR/mongo/util/namespace_string_database_name_util',
+ '$BUILD_DIR/mongo/util/progress_meter',
'audit',
+ 'auth/auth',
+ 'auth/authprivilege',
+ 'auth/user_acquisition_stats',
+ 'catalog/collection_options',
'coll_mod_command_idl',
+ 'commands/create_command',
+ 'commands/server_status_core',
+ 'commands/test_commands_enabled',
+ 'concurrency/lock_manager',
+ 'generic_cursor',
'index_commands_idl',
+ 'pipeline/change_stream_pre_and_post_images_options',
+ 'prepare_conflict_tracker',
+ 'query/common_query_enums_and_helpers',
+ 'repl/read_concern_args',
'server_base',
+ 'stats/resource_consumption_metrics',
+ 'stats/timer_stats',
+ # TODO (SERVER-66896): Remove this dependency.
+ 'storage/storage_engine_feature_flags',
+ 'timeseries/timeseries_options',
],
)
@@ -1060,6 +1074,7 @@ env.Library(
LIBDEPS_PRIVATE=[
'$BUILD_DIR/mongo/base',
'$BUILD_DIR/mongo/s/query_analysis_sampler',
+ '$BUILD_DIR/mongo/transport/service_executor',
'audit',
'auth/auth',
'auth/auth_umc',
diff --git a/src/mongo/db/auth/SConscript b/src/mongo/db/auth/SConscript
index 14e01e752c9..59b102026fd 100644
--- a/src/mongo/db/auth/SConscript
+++ b/src/mongo/db/auth/SConscript
@@ -237,10 +237,8 @@ env.Library(
'$BUILD_DIR/mongo/db/catalog/document_validation',
'$BUILD_DIR/mongo/db/common',
'$BUILD_DIR/mongo/db/pipeline/lite_parsed_document_source',
- '$BUILD_DIR/mongo/db/server_base',
'$BUILD_DIR/mongo/db/update/update_driver',
'auth',
- 'authorization_manager_global',
'authprivilege',
'builtin_roles',
'user',
@@ -248,6 +246,7 @@ env.Library(
],
LIBDEPS_PRIVATE=[
'$BUILD_DIR/mongo/db/audit',
+ '$BUILD_DIR/mongo/db/server_base',
],
)
diff --git a/src/mongo/db/auth/authorization_manager.cpp b/src/mongo/db/auth/authorization_manager.cpp
index b7b32531f16..a45c419f421 100644
--- a/src/mongo/db/auth/authorization_manager.cpp
+++ b/src/mongo/db/auth/authorization_manager.cpp
@@ -27,8 +27,6 @@
* it in the license file.
*/
-#include "mongo/platform/basic.h"
-
#include "mongo/db/auth/authorization_manager.h"
#include "mongo/base/init.h"
diff --git a/src/mongo/db/auth/authorization_manager.h b/src/mongo/db/auth/authorization_manager.h
index 58e19c21032..25795fc68aa 100644
--- a/src/mongo/db/auth/authorization_manager.h
+++ b/src/mongo/db/auth/authorization_manager.h
@@ -30,7 +30,6 @@
#pragma once
#include <boost/optional.hpp>
-#include <memory>
#include "mongo/base/status.h"
#include "mongo/bson/oid.h"
diff --git a/src/mongo/db/catalog/SConscript b/src/mongo/db/catalog/SConscript
index 76256a7887b..6fe7019ef79 100644
--- a/src/mongo/db/catalog/SConscript
+++ b/src/mongo/db/catalog/SConscript
@@ -147,6 +147,7 @@ env.Library(
'$BUILD_DIR/mongo/db/shard_role',
'$BUILD_DIR/mongo/db/storage/record_store_base',
'$BUILD_DIR/mongo/db/storage/storage_repair_observer',
+ '$BUILD_DIR/mongo/util/progress_meter',
'index_repair',
'multi_index_block',
],
@@ -312,7 +313,6 @@ env.Library(
'$BUILD_DIR/mongo/db/service_context',
'$BUILD_DIR/mongo/db/storage/bson_collection_catalog_entry',
'$BUILD_DIR/mongo/db/storage/storage_options',
- '$BUILD_DIR/mongo/db/views/util',
'$BUILD_DIR/mongo/db/views/views',
'$BUILD_DIR/mongo/util/namespace_string_database_name_util',
'collection_crud',
@@ -417,6 +417,7 @@ env.Library(
'$BUILD_DIR/mongo/db/ttl_collection_cache',
'$BUILD_DIR/mongo/db/vector_clock',
'$BUILD_DIR/mongo/db/views/view_catalog_helpers',
+ '$BUILD_DIR/mongo/util/progress_meter',
'capped_visibility',
'catalog_helpers',
'catalog_stats',
@@ -474,6 +475,7 @@ env.Library(
'$BUILD_DIR/mongo/db/storage/record_store_base',
'$BUILD_DIR/mongo/db/timeseries/bucket_catalog/bucket_catalog',
'$BUILD_DIR/mongo/db/timeseries/timeseries_options',
+ '$BUILD_DIR/mongo/util/progress_meter',
'catalog_impl',
'clustered_collection_options',
'collection_options',
diff --git a/src/mongo/db/commands/SConscript b/src/mongo/db/commands/SConscript
index aacacce4b2a..78933f289ea 100644
--- a/src/mongo/db/commands/SConscript
+++ b/src/mongo/db/commands/SConscript
@@ -199,6 +199,7 @@ env.Library(
'$BUILD_DIR/mongo/db/auth/authprivilege',
'$BUILD_DIR/mongo/db/commands',
'$BUILD_DIR/mongo/db/concurrency/exception_util',
+ '$BUILD_DIR/mongo/db/concurrency/lock_manager',
'$BUILD_DIR/mongo/db/query/op_metrics',
'$BUILD_DIR/mongo/db/storage/backup_cursor_hooks',
'fsync_locked',
@@ -652,6 +653,7 @@ env.Library(
'$BUILD_DIR/mongo/db/transaction/transaction_api',
'$BUILD_DIR/mongo/executor/inline_executor',
'$BUILD_DIR/mongo/util/net/ssl_manager',
+ '$BUILD_DIR/mongo/util/progress_meter',
'cluster_server_parameter_commands_invocation',
'core',
'create_command',
@@ -838,9 +840,10 @@ env.CppUnitTest(
'$BUILD_DIR/mongo/base',
'$BUILD_DIR/mongo/db/auth/authmocks',
'$BUILD_DIR/mongo/db/auth/authorization_manager_global',
- '$BUILD_DIR/mongo/db/commands/standalone',
+ '$BUILD_DIR/mongo/db/commands',
'$BUILD_DIR/mongo/db/service_context',
'$BUILD_DIR/mongo/unittest/unittest',
+ 'standalone',
],
)
diff --git a/src/mongo/db/curop.cpp b/src/mongo/db/curop.cpp
index d1c27b922c0..e118fc896b3 100644
--- a/src/mongo/db/curop.cpp
+++ b/src/mongo/db/curop.cpp
@@ -29,31 +29,26 @@
// CHECK_LOG_REDACTION
-
#include "mongo/db/curop.h"
-#include "mongo/util/duration.h"
-#include <iomanip>
-
#include "mongo/bson/mutable/document.h"
#include "mongo/config.h"
#include "mongo/db/auth/authorization_manager.h"
#include "mongo/db/client.h"
#include "mongo/db/commands.h"
-#include "mongo/db/commands/server_status_metric.h"
#include "mongo/db/concurrency/d_concurrency.h"
#include "mongo/db/json.h"
#include "mongo/db/prepare_conflict_tracker.h"
#include "mongo/db/profile_filter.h"
#include "mongo/db/query/getmore_command_gen.h"
#include "mongo/db/query/plan_summary_stats.h"
-#include "mongo/db/query/telemetry.h"
#include "mongo/db/stats/timer_stats.h"
#include "mongo/db/storage/storage_engine_feature_flags_gen.h"
#include "mongo/logv2/log.h"
#include "mongo/rpc/metadata/client_metadata.h"
#include "mongo/rpc/metadata/impersonated_user_metadata.h"
#include "mongo/transport/service_executor.h"
+#include "mongo/util/duration.h"
#include "mongo/util/hex.h"
#include "mongo/util/log_with_sampling.h"
#include "mongo/util/namespace_string_util.h"
@@ -80,6 +75,7 @@ BSONObj serializeDollarDbInOpDescription(boost::optional<TenantId> tenantId,
cmdObj.addField(BSON("$db" << DatabaseNameUtil::serialize(dbName)).firstElement());
return newCmdObj;
}
+
} // namespace
/**
diff --git a/src/mongo/db/op_observer/SConscript b/src/mongo/db/op_observer/SConscript
index 771d719d80c..c941ccc1610 100644
--- a/src/mongo/db/op_observer/SConscript
+++ b/src/mongo/db/op_observer/SConscript
@@ -81,7 +81,6 @@ env.Library(
'$BUILD_DIR/mongo/db/session/session_catalog_mongod',
'$BUILD_DIR/mongo/db/transaction/transaction',
'$BUILD_DIR/mongo/db/transaction/transaction_operations',
- '$BUILD_DIR/mongo/db/views/util',
'$BUILD_DIR/mongo/db/views/view_catalog_helpers',
'$BUILD_DIR/mongo/s/coreshard',
'$BUILD_DIR/mongo/s/grid',
diff --git a/src/mongo/db/ops/write_ops_exec.cpp b/src/mongo/db/ops/write_ops_exec.cpp
index 5d5f06875b4..6e1eeb3c82a 100644
--- a/src/mongo/db/ops/write_ops_exec.cpp
+++ b/src/mongo/db/ops/write_ops_exec.cpp
@@ -28,6 +28,7 @@
*/
#include "mongo/db/ops/write_ops_exec.h"
+
#include "mongo/db/auth/authorization_session.h"
#include "mongo/db/catalog/clustered_collection_util.h"
#include "mongo/db/catalog/collection_options.h"
@@ -114,7 +115,6 @@ template <>
struct BSONObjAppendFormat<write_ops_exec::Atomic64Metric> : FormatKind<NumberLong> {};
} // namespace mongo
-
namespace mongo::write_ops_exec {
/**
@@ -175,7 +175,6 @@ MONGO_FAIL_POINT_DEFINE(hangTimeseriesInsertBeforeReopeningQuery);
MONGO_FAIL_POINT_DEFINE(hangTimeseriesInsertBeforeWrite);
MONGO_FAIL_POINT_DEFINE(failUnorderedTimeseriesInsert);
-
/**
* Metrics group for the `updateMany` and `deleteMany` operations. For each
* operation, the `duration` and `numDocs` will contribute to aggregated total
@@ -294,11 +293,11 @@ void makeCollection(OperationContext* opCtx, const NamespaceString& ns) {
});
}
-void insertDocuments(OperationContext* opCtx,
- const CollectionPtr& collection,
- std::vector<InsertStatement>::iterator begin,
- std::vector<InsertStatement>::iterator end,
- bool fromMigrate) {
+void insertDocumentsAtomically(OperationContext* opCtx,
+ const CollectionPtr& collection,
+ std::vector<InsertStatement>::iterator begin,
+ std::vector<InsertStatement>::iterator end,
+ bool fromMigrate) {
// Intentionally not using writeConflictRetry. That is handled by the caller so it can react to
// oversized batches.
WriteUnitOfWork wuow(opCtx);
@@ -591,11 +590,11 @@ bool insertBatchAndHandleErrors(OperationContext* opCtx,
// First try doing it all together. If all goes well, this is all we need to do.
// See Collection::_insertDocuments for why we do all capped inserts one-at-a-time.
lastOpFixer->startingOp(nss);
- insertDocuments(opCtx,
- collection->getCollection(),
- batch.begin(),
- batch.end(),
- source == OperationSource::kFromMigrate);
+ insertDocumentsAtomically(opCtx,
+ collection->getCollection(),
+ batch.begin(),
+ batch.end(),
+ source == OperationSource::kFromMigrate);
lastOpFixer->finishedOpSuccessfully();
globalOpCounters.gotInserts(batch.size());
ServerWriteConcernMetrics::get(opCtx)->recordWriteConcernForInserts(
@@ -631,11 +630,11 @@ bool insertBatchAndHandleErrors(OperationContext* opCtx,
uassertStatusOK(
checkIfTransactionOnCappedColl(opCtx, collection->getCollection()));
lastOpFixer->startingOp(nss);
- insertDocuments(opCtx,
- collection->getCollection(),
- it,
- it + 1,
- source == OperationSource::kFromMigrate);
+ insertDocumentsAtomically(opCtx,
+ collection->getCollection(),
+ it,
+ it + 1,
+ source == OperationSource::kFromMigrate);
lastOpFixer->finishedOpSuccessfully();
SingleWriteResult result;
result.setN(1);
diff --git a/src/mongo/db/pipeline/process_interface/SConscript b/src/mongo/db/pipeline/process_interface/SConscript
index 4fc32ca2bad..6c4b582d279 100644
--- a/src/mongo/db/pipeline/process_interface/SConscript
+++ b/src/mongo/db/pipeline/process_interface/SConscript
@@ -1,6 +1,7 @@
# -*- mode: python -*-
Import('env')
+Import('get_option')
env = env.Clone()
@@ -25,6 +26,8 @@ env.Library(
'$BUILD_DIR/mongo/db/operation_time_tracker',
'$BUILD_DIR/mongo/db/pipeline/field_path',
'$BUILD_DIR/mongo/s/sharding_router_api',
+ '$BUILD_DIR/mongo/util/diagnostic_info'
+ if get_option('use-diagnostic-latches') == 'on' else [],
'$BUILD_DIR/mongo/util/namespace_string_database_name_util',
],
)
@@ -130,6 +133,7 @@ env.CppUnitTest(
],
LIBDEPS=[
'$BUILD_DIR/mongo/db/auth/authmocks',
+ '$BUILD_DIR/mongo/db/concurrency/lock_manager',
'$BUILD_DIR/mongo/db/query/query_test_service_context',
'$BUILD_DIR/mongo/db/service_context_test_fixture',
'$BUILD_DIR/mongo/db/vector_clock_mongod',
diff --git a/src/mongo/db/query/SConscript b/src/mongo/db/query/SConscript
index 1a3c43dd060..af5075b020f 100644
--- a/src/mongo/db/query/SConscript
+++ b/src/mongo/db/query/SConscript
@@ -365,7 +365,6 @@ env.Library(
env.Library(
target='op_metrics',
source=[
- '$BUILD_DIR/mongo/db/curop.cpp',
'query_shape.cpp',
'telemetry.cpp',
],
@@ -373,22 +372,15 @@ env.Library(
'$BUILD_DIR/mongo/base',
'$BUILD_DIR/mongo/bson/mutable/mutable_bson',
'$BUILD_DIR/mongo/db/commands',
- '$BUILD_DIR/mongo/db/concurrency/lock_manager',
- '$BUILD_DIR/mongo/db/generic_cursor',
'$BUILD_DIR/mongo/db/profile_filter',
'$BUILD_DIR/mongo/db/server_options',
'$BUILD_DIR/mongo/db/service_context',
'$BUILD_DIR/mongo/db/stats/counters',
- '$BUILD_DIR/mongo/db/stats/timer_stats',
'$BUILD_DIR/mongo/db/storage/storage_engine_parameters',
'$BUILD_DIR/mongo/rpc/client_metadata',
- '$BUILD_DIR/mongo/transport/service_executor',
- '$BUILD_DIR/mongo/util/diagnostic_info'
- if get_option('use-diagnostic-latches') == 'on' else [],
'$BUILD_DIR/mongo/util/fail_point',
'$BUILD_DIR/mongo/util/net/network',
'$BUILD_DIR/mongo/util/processinfo',
- '$BUILD_DIR/mongo/util/progress_meter',
'command_request_response',
'memory_util',
'query_knobs',
@@ -396,13 +388,6 @@ env.Library(
],
LIBDEPS_PRIVATE=[
'$BUILD_DIR/mongo/db/auth/auth',
- '$BUILD_DIR/mongo/db/auth/user_acquisition_stats',
- '$BUILD_DIR/mongo/db/exec/projection_executor',
- '$BUILD_DIR/mongo/db/prepare_conflict_tracker',
- '$BUILD_DIR/mongo/db/stats/resource_consumption_metrics',
- # TODO (SERVER-66896): Remove this dependency.
- '$BUILD_DIR/mongo/db/storage/storage_engine_feature_flags',
- '$BUILD_DIR/mongo/util/concurrency/admission_context',
'$BUILD_DIR/mongo/util/namespace_string_database_name_util',
'projection_ast',
'sort_pattern',
diff --git a/src/mongo/db/query/collation/SConscript b/src/mongo/db/query/collation/SConscript
index 98acc2f2a57..f3746bceb0d 100644
--- a/src/mongo/db/query/collation/SConscript
+++ b/src/mongo/db/query/collation/SConscript
@@ -27,13 +27,13 @@ env.Library(
)
env.Library(
- target="collator_factory_interface",
+ target='collator_factory_interface',
source=[
- "collator_factory_interface.cpp",
+ 'collator_factory_interface.cpp',
],
LIBDEPS=[
- "$BUILD_DIR/mongo/db/service_context",
- "collator_interface",
+ '$BUILD_DIR/mongo/db/service_context',
+ 'collator_interface',
],
)
diff --git a/src/mongo/db/serverless/SConscript b/src/mongo/db/serverless/SConscript
index b0751b45f27..15a7b57e895 100644
--- a/src/mongo/db/serverless/SConscript
+++ b/src/mongo/db/serverless/SConscript
@@ -40,6 +40,9 @@ env.Library(
'$BUILD_DIR/mongo/db/server_base',
'shard_split_donor_service',
],
+ LIBDEPS_PRIVATE=[
+ '$BUILD_DIR/mongo/db/commands',
+ ],
)
env.Library(
diff --git a/src/mongo/db/views/SConscript b/src/mongo/db/views/SConscript
index 53cfc7e4bec..d9f4c544e67 100644
--- a/src/mongo/db/views/SConscript
+++ b/src/mongo/db/views/SConscript
@@ -7,6 +7,7 @@ env = env.Clone()
env.Library(
target='views',
source=[
+ 'util.cpp',
'view.cpp',
'view_graph.cpp',
],
@@ -44,17 +45,6 @@ env.Library(
],
)
-env.Library(
- target='util',
- source=[
- 'util.cpp',
- ],
- LIBDEPS_PRIVATE=[
- '$BUILD_DIR/mongo/util/namespace_string_database_name_util',
- 'views',
- ],
-)
-
env.CppUnitTest(
target='db_views_test',
source=[
diff --git a/src/mongo/embedded/SConscript b/src/mongo/embedded/SConscript
index 9e18a565ec6..df799736c3b 100644
--- a/src/mongo/embedded/SConscript
+++ b/src/mongo/embedded/SConscript
@@ -73,10 +73,8 @@ env.Library(
'transaction_coordinator_curop_embedded.cpp',
'embedded_options.idl',
],
- LIBDEPS=[
- '$BUILD_DIR/mongo/base',
- ],
LIBDEPS_PRIVATE=[
+ '$BUILD_DIR/mongo/base',
'$BUILD_DIR/mongo/db/audit',
'$BUILD_DIR/mongo/db/auth/auth',
'$BUILD_DIR/mongo/db/catalog/catalog_impl',
@@ -116,6 +114,7 @@ env.Library(
'$BUILD_DIR/mongo/db/vector_clock_trivial',
'$BUILD_DIR/mongo/db/wire_version',
'$BUILD_DIR/mongo/rpc/client_metadata',
+ '$BUILD_DIR/mongo/transport/service_executor',
'$BUILD_DIR/mongo/util/latch_analyzer'
if get_option('use-diagnostic-latches') == 'on' else [],
'$BUILD_DIR/mongo/util/options_parser/options_parser',
diff --git a/src/mongo/s/commands/SConscript b/src/mongo/s/commands/SConscript
index 35d64a7435e..2128258d5c3 100644
--- a/src/mongo/s/commands/SConscript
+++ b/src/mongo/s/commands/SConscript
@@ -203,6 +203,7 @@ env.Library(
'$BUILD_DIR/mongo/s/sharding_api',
'$BUILD_DIR/mongo/s/sharding_router_api',
'$BUILD_DIR/mongo/transport/message_compressor',
+ '$BUILD_DIR/mongo/transport/service_executor',
'$BUILD_DIR/mongo/transport/transport_layer_common',
],
)
@@ -279,6 +280,7 @@ env.CppUnitTest(
'$BUILD_DIR/mongo/s/query/cluster_aggregate',
'$BUILD_DIR/mongo/s/sharding_router_test_fixture',
'$BUILD_DIR/mongo/s/vector_clock_mongos',
+ '$BUILD_DIR/mongo/transport/service_executor',
'cluster_commands',
'cluster_commands_common',
],
diff --git a/src/mongo/util/SConscript b/src/mongo/util/SConscript
index 7fec162dddf..4f92d284478 100644
--- a/src/mongo/util/SConscript
+++ b/src/mongo/util/SConscript
@@ -311,7 +311,7 @@ env.Library(
env.Library(
target='background_job',
source=[
- "background.cpp",
+ 'background.cpp',
],
LIBDEPS=[
'$BUILD_DIR/mongo/base',