From bdb6c7fcebf559be841f13e3066d052d07d60dda Mon Sep 17 00:00:00 2001 From: Marcos Grillo Date: Thu, 27 Nov 2025 16:55:15 +0100 Subject: [PATCH] SERVER-113353 Change ownership of shard_key_pattern_query_util library (#44349) GitOrigin-RevId: 8025e1dcee6eae619ffd6ac7184c0719b61c4235 --- .github/CODEOWNERS | 1 + modules_poc/modules.yaml | 1 + src/mongo/db/global_catalog/chunk_manager_query_test.cpp | 2 +- .../shard_key_pattern_query_util_chunk_ranges_test.cpp | 2 +- .../shard_key_pattern_query_util_index_bounds_test.cpp | 2 +- src/mongo/db/global_catalog/shard_key_pattern_test.cpp | 2 +- src/mongo/db/query/query_planner_params.cpp | 2 +- src/mongo/db/router_role/cluster_commands_helpers.cpp | 2 +- src/mongo/db/router_role/collection_routing_info_targeter.cpp | 2 +- src/mongo/db/s/analyze_shard_key_read_write_distribution.cpp | 2 +- src/mongo/db/s/analyze_shard_key_read_write_distribution.h | 2 +- src/mongo/s/BUILD.bazel | 2 +- src/mongo/s/commands/cluster_clear_jumbo_flag_cmd.cpp | 2 +- src/mongo/s/commands/cluster_move_chunk_cmd.cpp | 2 +- src/mongo/s/commands/cluster_query_without_shard_key_cmd.cpp | 2 +- src/mongo/s/commands/cluster_split_cmd.cpp | 2 +- src/mongo/s/commands/query_cmd/cluster_find_and_modify_cmd.cpp | 2 +- src/mongo/s/query/OWNERS.yml | 3 +++ .../query}/shard_key_pattern_query_util.cpp | 2 +- .../global_catalog => s/query}/shard_key_pattern_query_util.h | 0 src/mongo/s/write_ops/write_without_shard_key_util.cpp | 2 +- 21 files changed, 22 insertions(+), 17 deletions(-) rename src/mongo/{db/global_catalog => s/query}/shard_key_pattern_query_util.cpp (99%) rename src/mongo/{db/global_catalog => s/query}/shard_key_pattern_query_util.h (100%) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 1c9775ecc6a..e92f50b60c6 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -3102,6 +3102,7 @@ WORKSPACE.bazel @10gen/devprod-build @svc-auto-approve-bot /src/mongo/s/query/**/README_aggregation.md @10gen/query @10gen/server-catalog-and-routing-routing-and-topology @svc-auto-approve-bot /src/mongo/s/query/**/OWNERS.yml @10gen/query-execution-staff-leads @10gen/query-integration-staff-leads @10gen/query-optimization-staff-leads @svc-auto-approve-bot /src/mongo/s/query/**/document_source_visitor_docs_needed_bounds* @10gen/query-integration-search @svc-auto-approve-bot +/src/mongo/s/query/**/shard_key_pattern_query_util* @10gen/query-optimization @svc-auto-approve-bot # The following patterns are parsed from ./src/mongo/s/query/exec/OWNERS.yml /src/mongo/s/query/exec/**/* @10gen/query-execution-router @svc-auto-approve-bot diff --git a/modules_poc/modules.yaml b/modules_poc/modules.yaml index 25da8c6fe02..650eecc1bdb 100644 --- a/modules_poc/modules.yaml +++ b/modules_poc/modules.yaml @@ -230,6 +230,7 @@ query: - src/mongo/s/commands/query_cmd - src/mongo/s/shard_targeting_helpers* - src/mongo/s/query/planner + - src/mongo/s/query/shard_key_pattern_query_util* - src/mongo/db/namespace_spec.idl # only used by query - src/mongo/s/commands/*document_shard_key_* - src/mongo/util/safe_num* diff --git a/src/mongo/db/global_catalog/chunk_manager_query_test.cpp b/src/mongo/db/global_catalog/chunk_manager_query_test.cpp index b2fca5a7012..062cba31e6b 100644 --- a/src/mongo/db/global_catalog/chunk_manager_query_test.cpp +++ b/src/mongo/db/global_catalog/chunk_manager_query_test.cpp @@ -37,7 +37,6 @@ #include "mongo/db/global_catalog/chunk_manager.h" #include "mongo/db/global_catalog/chunks_test_util.h" #include "mongo/db/global_catalog/shard_key_pattern.h" -#include "mongo/db/global_catalog/shard_key_pattern_query_util.h" #include "mongo/db/global_catalog/type_chunk.h" #include "mongo/db/namespace_string.h" #include "mongo/db/pipeline/expression_context_for_test.h" @@ -49,6 +48,7 @@ #include "mongo/db/sharding_environment/shard_id.h" #include "mongo/db/versioning_protocol/chunk_version.h" #include "mongo/db/versioning_protocol/database_version.h" +#include "mongo/s/query/shard_key_pattern_query_util.h" #include "mongo/unittest/unittest.h" #include "mongo/util/assert_util.h" #include "mongo/util/intrusive_counter.h" diff --git a/src/mongo/db/global_catalog/shard_key_pattern_query_util_chunk_ranges_test.cpp b/src/mongo/db/global_catalog/shard_key_pattern_query_util_chunk_ranges_test.cpp index ccc7075a9a1..e2b37b6a60e 100644 --- a/src/mongo/db/global_catalog/shard_key_pattern_query_util_chunk_ranges_test.cpp +++ b/src/mongo/db/global_catalog/shard_key_pattern_query_util_chunk_ranges_test.cpp @@ -32,7 +32,6 @@ #include "mongo/bson/bsonobj.h" #include "mongo/bson/bsonobjbuilder.h" #include "mongo/bson/json.h" -#include "mongo/db/global_catalog/shard_key_pattern_query_util.h" #include "mongo/db/global_catalog/type_shard.h" #include "mongo/db/hasher.h" #include "mongo/db/matcher/expression_always_boolean.h" @@ -41,6 +40,7 @@ #include "mongo/db/query/write_ops/write_ops_parsers.h" #include "mongo/db/router_role/routing_cache/catalog_cache_test_fixture.h" #include "mongo/db/session/logical_session_id.h" +#include "mongo/s/query/shard_key_pattern_query_util.h" #include "mongo/s/write_ops/write_command_ref.h" #include "mongo/unittest/unittest.h" #include "mongo/util/duration.h" diff --git a/src/mongo/db/global_catalog/shard_key_pattern_query_util_index_bounds_test.cpp b/src/mongo/db/global_catalog/shard_key_pattern_query_util_index_bounds_test.cpp index dbcab59f33a..f5a09d2fdfb 100644 --- a/src/mongo/db/global_catalog/shard_key_pattern_query_util_index_bounds_test.cpp +++ b/src/mongo/db/global_catalog/shard_key_pattern_query_util_index_bounds_test.cpp @@ -36,7 +36,6 @@ #include "mongo/bson/bsonobjbuilder.h" #include "mongo/bson/json.h" #include "mongo/db/global_catalog/shard_key_pattern.h" -#include "mongo/db/global_catalog/shard_key_pattern_query_util.h" #include "mongo/db/hasher.h" #include "mongo/db/matcher/extensions_callback_noop.h" #include "mongo/db/namespace_string.h" @@ -50,6 +49,7 @@ #include "mongo/db/query/find_command.h" #include "mongo/db/sharding_environment/sharding_mongos_test_fixture.h" #include "mongo/logv2/log.h" +#include "mongo/s/query/shard_key_pattern_query_util.h" #include "mongo/unittest/unittest.h" #include "mongo/util/intrusive_counter.h" diff --git a/src/mongo/db/global_catalog/shard_key_pattern_test.cpp b/src/mongo/db/global_catalog/shard_key_pattern_test.cpp index 6b5f0f1f39b..5567d7423aa 100644 --- a/src/mongo/db/global_catalog/shard_key_pattern_test.cpp +++ b/src/mongo/db/global_catalog/shard_key_pattern_test.cpp @@ -38,12 +38,12 @@ #include "mongo/bson/bsontypes_util.h" #include "mongo/bson/dotted_path/dotted_path_support.h" #include "mongo/bson/json.h" -#include "mongo/db/global_catalog/shard_key_pattern_query_util.h" #include "mongo/db/hasher.h" #include "mongo/db/namespace_string.h" #include "mongo/db/operation_context.h" #include "mongo/db/service_context.h" #include "mongo/db/service_context_test_fixture.h" +#include "mongo/s/query/shard_key_pattern_query_util.h" #include "mongo/unittest/death_test.h" #include "mongo/unittest/unittest.h" #include "mongo/util/assert_util.h" diff --git a/src/mongo/db/query/query_planner_params.cpp b/src/mongo/db/query/query_planner_params.cpp index 12cdbac0859..89ce95c9b20 100644 --- a/src/mongo/db/query/query_planner_params.cpp +++ b/src/mongo/db/query/query_planner_params.cpp @@ -30,7 +30,6 @@ #include "mongo/db/query/query_planner_params.h" #include "mongo/db/exec/projection_executor_utils.h" -#include "mongo/db/global_catalog/shard_key_pattern_query_util.h" #include "mongo/db/index/multikey_metadata_access_stats.h" #include "mongo/db/index/wildcard_access_method.h" #include "mongo/db/query/compiler/stats/collection_statistics_impl.h" @@ -43,6 +42,7 @@ #include "mongo/db/query/wildcard_multikey_paths.h" #include "mongo/db/storage/storage_options.h" #include "mongo/db/timeseries/timeseries_index_schema_conversion_functions.h" +#include "mongo/s/query/shard_key_pattern_query_util.h" #include "mongo/s/shard_targeting_helpers.h" #include "mongo/util/assert_util.h" diff --git a/src/mongo/db/router_role/cluster_commands_helpers.cpp b/src/mongo/db/router_role/cluster_commands_helpers.cpp index 9cc74c7f633..ab3c5df4fce 100644 --- a/src/mongo/db/router_role/cluster_commands_helpers.cpp +++ b/src/mongo/db/router_role/cluster_commands_helpers.cpp @@ -36,7 +36,6 @@ #include "mongo/db/curop.h" #include "mongo/db/error_labels.h" #include "mongo/db/global_catalog/shard_key_pattern.h" -#include "mongo/db/global_catalog/shard_key_pattern_query_util.h" #include "mongo/db/global_catalog/type_database_gen.h" #include "mongo/db/keypattern.h" #include "mongo/db/logical_time.h" @@ -70,6 +69,7 @@ #include "mongo/rpc/get_status_from_command_result.h" #include "mongo/rpc/write_concern_error_detail.h" #include "mongo/s/multi_statement_transaction_requests_sender.h" +#include "mongo/s/query/shard_key_pattern_query_util.h" #include "mongo/s/query_analysis_sampler_util.h" #include "mongo/util/assert_util.h" #include "mongo/util/decorable.h" diff --git a/src/mongo/db/router_role/collection_routing_info_targeter.cpp b/src/mongo/db/router_role/collection_routing_info_targeter.cpp index 3a0e787a6b6..158cc3118da 100644 --- a/src/mongo/db/router_role/collection_routing_info_targeter.cpp +++ b/src/mongo/db/router_role/collection_routing_info_targeter.cpp @@ -38,7 +38,6 @@ #include "mongo/db/feature_flag.h" #include "mongo/db/global_catalog/chunk.h" #include "mongo/db/global_catalog/ddl/cluster_ddl.h" -#include "mongo/db/global_catalog/shard_key_pattern_query_util.h" #include "mongo/db/global_catalog/type_collection_common_types_gen.h" #include "mongo/db/pipeline/expression_context_builder.h" #include "mongo/db/query/canonical_query.h" @@ -66,6 +65,7 @@ #include "mongo/db/versioning_protocol/shard_version.h" #include "mongo/logv2/log.h" #include "mongo/platform/compiler.h" +#include "mongo/s/query/shard_key_pattern_query_util.h" #include "mongo/s/write_ops/batched_command_request.h" #include "mongo/util/assert_util.h" #include "mongo/util/scopeguard.h" diff --git a/src/mongo/db/s/analyze_shard_key_read_write_distribution.cpp b/src/mongo/db/s/analyze_shard_key_read_write_distribution.cpp index c678b0f0980..c84d8cb4a2f 100644 --- a/src/mongo/db/s/analyze_shard_key_read_write_distribution.cpp +++ b/src/mongo/db/s/analyze_shard_key_read_write_distribution.cpp @@ -32,7 +32,6 @@ #include "mongo/base/status_with.h" #include "mongo/db/commands/query_cmd/bulk_write_crud_op.h" #include "mongo/db/feature_flag.h" -#include "mongo/db/global_catalog/shard_key_pattern_query_util.h" #include "mongo/db/pipeline/expression_context.h" #include "mongo/db/pipeline/expression_context_builder.h" #include "mongo/db/pipeline/variables.h" @@ -45,6 +44,7 @@ #include "mongo/db/sharding_environment/shard_id.h" #include "mongo/idl/idl_parser.h" #include "mongo/s/analyze_shard_key_common_gen.h" +#include "mongo/s/query/shard_key_pattern_query_util.h" #include "mongo/util/intrusive_counter.h" #include diff --git a/src/mongo/db/s/analyze_shard_key_read_write_distribution.h b/src/mongo/db/s/analyze_shard_key_read_write_distribution.h index c762eb7a4ec..a8fee1c9b93 100644 --- a/src/mongo/db/s/analyze_shard_key_read_write_distribution.h +++ b/src/mongo/db/s/analyze_shard_key_read_write_distribution.h @@ -34,7 +34,6 @@ #include "mongo/db/commands/query_cmd/bulk_write_gen.h" #include "mongo/db/global_catalog/chunk_manager.h" #include "mongo/db/global_catalog/shard_key_pattern.h" -#include "mongo/db/global_catalog/shard_key_pattern_query_util.h" #include "mongo/db/global_catalog/type_chunk.h" #include "mongo/db/operation_context.h" #include "mongo/db/pipeline/legacy_runtime_constants_gen.h" @@ -47,6 +46,7 @@ #include "mongo/s/analyze_shard_key_common_gen.h" #include "mongo/s/analyze_shard_key_documents_gen.h" #include "mongo/s/analyze_shard_key_server_parameters_gen.h" +#include "mongo/s/query/shard_key_pattern_query_util.h" #include "mongo/util/assert_util.h" #include "mongo/util/str.h" diff --git a/src/mongo/s/BUILD.bazel b/src/mongo/s/BUILD.bazel index f72b31acfe1..c9cad55e103 100644 --- a/src/mongo/s/BUILD.bazel +++ b/src/mongo/s/BUILD.bazel @@ -73,7 +73,6 @@ mongo_cc_library( "transaction_router.cpp", "transaction_router_resource_yielder.cpp", ":router_transactions_stats_gen", - "//src/mongo/db/global_catalog:shard_key_pattern_query_util.cpp", "//src/mongo/db/global_catalog/ddl:cluster_ddl.cpp", "//src/mongo/db/router_role:cluster_commands_helpers.cpp", "//src/mongo/db/router_role:collection_routing_info_targeter.cpp", @@ -81,6 +80,7 @@ mongo_cc_library( "//src/mongo/db/router_role:router_role.cpp", "//src/mongo/db/router_role:routing_context.cpp", "//src/mongo/db/topology/cluster_parameters:set_cluster_server_parameter_router_impl.cpp", + "//src/mongo/s/query:shard_key_pattern_query_util.cpp", ], deps = [ ":async_requests_sender", diff --git a/src/mongo/s/commands/cluster_clear_jumbo_flag_cmd.cpp b/src/mongo/s/commands/cluster_clear_jumbo_flag_cmd.cpp index 90e800e0f7a..2e07172f94a 100644 --- a/src/mongo/s/commands/cluster_clear_jumbo_flag_cmd.cpp +++ b/src/mongo/s/commands/cluster_clear_jumbo_flag_cmd.cpp @@ -39,7 +39,6 @@ #include "mongo/db/global_catalog/chunk_manager.h" #include "mongo/db/global_catalog/ddl/sharded_ddl_commands_gen.h" #include "mongo/db/global_catalog/shard_key_pattern.h" -#include "mongo/db/global_catalog/shard_key_pattern_query_util.h" #include "mongo/db/global_catalog/type_chunk.h" #include "mongo/db/namespace_string.h" #include "mongo/db/operation_context.h" @@ -53,6 +52,7 @@ #include "mongo/db/versioning_protocol/chunk_version.h" #include "mongo/rpc/op_msg.h" #include "mongo/rpc/reply_builder_interface.h" +#include "mongo/s/query/shard_key_pattern_query_util.h" #include "mongo/util/assert_util.h" #include "mongo/util/str.h" diff --git a/src/mongo/s/commands/cluster_move_chunk_cmd.cpp b/src/mongo/s/commands/cluster_move_chunk_cmd.cpp index 39f83c94343..b25c93b9bd8 100644 --- a/src/mongo/s/commands/cluster_move_chunk_cmd.cpp +++ b/src/mongo/s/commands/cluster_move_chunk_cmd.cpp @@ -43,7 +43,6 @@ #include "mongo/db/global_catalog/chunk.h" #include "mongo/db/global_catalog/chunk_manager.h" #include "mongo/db/global_catalog/shard_key_pattern.h" -#include "mongo/db/global_catalog/shard_key_pattern_query_util.h" #include "mongo/db/global_catalog/type_chunk.h" #include "mongo/db/namespace_string.h" #include "mongo/db/operation_context.h" @@ -59,6 +58,7 @@ #include "mongo/logv2/log.h" #include "mongo/rpc/op_msg.h" #include "mongo/rpc/reply_builder_interface.h" +#include "mongo/s/query/shard_key_pattern_query_util.h" #include "mongo/s/request_types/migration_secondary_throttle_options.h" #include "mongo/s/request_types/move_range_request_gen.h" #include "mongo/util/assert_util.h" diff --git a/src/mongo/s/commands/cluster_query_without_shard_key_cmd.cpp b/src/mongo/s/commands/cluster_query_without_shard_key_cmd.cpp index f2f47e67852..48dd4cb8587 100644 --- a/src/mongo/s/commands/cluster_query_without_shard_key_cmd.cpp +++ b/src/mongo/s/commands/cluster_query_without_shard_key_cmd.cpp @@ -45,7 +45,6 @@ #include "mongo/db/database_name.h" #include "mongo/db/exec/document_value/document.h" #include "mongo/db/global_catalog/chunk_manager.h" -#include "mongo/db/global_catalog/shard_key_pattern_query_util.h" #include "mongo/db/global_catalog/type_collection_common_types_gen.h" #include "mongo/db/namespace_string.h" #include "mongo/db/operation_context.h" @@ -92,6 +91,7 @@ #include "mongo/s/query/exec/router_exec_stage.h" #include "mongo/s/query/exec/router_stage_merge.h" #include "mongo/s/query/exec/router_stage_remove_metadata_fields.h" +#include "mongo/s/query/shard_key_pattern_query_util.h" #include "mongo/s/request_types/cluster_commands_without_shard_key_gen.h" #include "mongo/s/write_ops/write_without_shard_key_util.h" #include "mongo/util/assert_util.h" diff --git a/src/mongo/s/commands/cluster_split_cmd.cpp b/src/mongo/s/commands/cluster_split_cmd.cpp index ca3df84b867..e328a78038e 100644 --- a/src/mongo/s/commands/cluster_split_cmd.cpp +++ b/src/mongo/s/commands/cluster_split_cmd.cpp @@ -45,7 +45,6 @@ #include "mongo/db/global_catalog/chunk_manager.h" #include "mongo/db/global_catalog/ddl/shard_util.h" #include "mongo/db/global_catalog/shard_key_pattern.h" -#include "mongo/db/global_catalog/shard_key_pattern_query_util.h" #include "mongo/db/global_catalog/type_chunk.h" #include "mongo/db/global_catalog/type_chunk_range.h" #include "mongo/db/namespace_string.h" @@ -61,6 +60,7 @@ #include "mongo/db/versioning_protocol/chunk_version.h" #include "mongo/db/versioning_protocol/shard_version.h" #include "mongo/logv2/log.h" +#include "mongo/s/query/shard_key_pattern_query_util.h" #include "mongo/util/assert_util.h" #include "mongo/util/database_name_util.h" #include "mongo/util/namespace_string_util.h" diff --git a/src/mongo/s/commands/query_cmd/cluster_find_and_modify_cmd.cpp b/src/mongo/s/commands/query_cmd/cluster_find_and_modify_cmd.cpp index 85190afcd40..e25f7818249 100644 --- a/src/mongo/s/commands/query_cmd/cluster_find_and_modify_cmd.cpp +++ b/src/mongo/s/commands/query_cmd/cluster_find_and_modify_cmd.cpp @@ -51,7 +51,6 @@ #include "mongo/db/global_catalog/chunk.h" #include "mongo/db/global_catalog/chunk_manager.h" #include "mongo/db/global_catalog/ddl/cluster_ddl.h" -#include "mongo/db/global_catalog/shard_key_pattern_query_util.h" #include "mongo/db/global_catalog/type_collection_common_types_gen.h" #include "mongo/db/internal_transactions_feature_flag_gen.h" #include "mongo/db/pipeline/expression_context.h" @@ -86,6 +85,7 @@ #include "mongo/s/commands/document_shard_key_update_util.h" #include "mongo/s/commands/query_cmd/cluster_explain.h" #include "mongo/s/multi_statement_transaction_requests_sender.h" +#include "mongo/s/query/shard_key_pattern_query_util.h" #include "mongo/s/query_analysis_sampler_util.h" #include "mongo/s/request_types/cluster_commands_without_shard_key_gen.h" #include "mongo/s/session_catalog_router.h" diff --git a/src/mongo/s/query/OWNERS.yml b/src/mongo/s/query/OWNERS.yml index da71c645942..19d2ab82796 100644 --- a/src/mongo/s/query/OWNERS.yml +++ b/src/mongo/s/query/OWNERS.yml @@ -18,3 +18,6 @@ filters: - "document_source_visitor_docs_needed_bounds*": approvers: - 10gen/query-integration-search + - "shard_key_pattern_query_util*": + approvers: + - 10gen/query-optimization diff --git a/src/mongo/db/global_catalog/shard_key_pattern_query_util.cpp b/src/mongo/s/query/shard_key_pattern_query_util.cpp similarity index 99% rename from src/mongo/db/global_catalog/shard_key_pattern_query_util.cpp rename to src/mongo/s/query/shard_key_pattern_query_util.cpp index 3d9030c8eb5..94f1c62d7f8 100644 --- a/src/mongo/db/global_catalog/shard_key_pattern_query_util.cpp +++ b/src/mongo/s/query/shard_key_pattern_query_util.cpp @@ -27,7 +27,7 @@ * it in the license file. */ -#include "mongo/db/global_catalog/shard_key_pattern_query_util.h" +#include "mongo/s/query/shard_key_pattern_query_util.h" #include "mongo/base/error_codes.h" #include "mongo/base/status.h" diff --git a/src/mongo/db/global_catalog/shard_key_pattern_query_util.h b/src/mongo/s/query/shard_key_pattern_query_util.h similarity index 100% rename from src/mongo/db/global_catalog/shard_key_pattern_query_util.h rename to src/mongo/s/query/shard_key_pattern_query_util.h diff --git a/src/mongo/s/write_ops/write_without_shard_key_util.cpp b/src/mongo/s/write_ops/write_without_shard_key_util.cpp index c2175546ff2..d5ffc53e554 100644 --- a/src/mongo/s/write_ops/write_without_shard_key_util.cpp +++ b/src/mongo/s/write_ops/write_without_shard_key_util.cpp @@ -38,7 +38,6 @@ #include "mongo/db/field_ref.h" #include "mongo/db/field_ref_set.h" #include "mongo/db/global_catalog/chunk_manager.h" -#include "mongo/db/global_catalog/shard_key_pattern_query_util.h" #include "mongo/db/global_catalog/type_collection_common_types_gen.h" #include "mongo/db/pipeline/expression_context.h" #include "mongo/db/query/canonical_query.h" @@ -69,6 +68,7 @@ #include "mongo/platform/compiler.h" #include "mongo/rpc/get_status_from_command_result.h" #include "mongo/rpc/write_concern_error_detail.h" +#include "mongo/s/query/shard_key_pattern_query_util.h" #include "mongo/s/request_types/cluster_commands_without_shard_key_gen.h" #include "mongo/s/transaction_router_resource_yielder.h" #include "mongo/s/write_ops/batched_command_response.h"