# -*- mode: python -*- Import([ "env", "get_option", "version_extra", "version_parts", ]) env = env.Clone() env.SConscript( dirs=[ 'catalog', 'client', 'commands', 'query', 'write_ops', ], exports=[ 'env', ], ) # This is the main library to use for consumers of sharding. It will pull the routing and targeting # functionality. # # This is the only library, which should be referenced directly outside of mongo/s/ and mongo/db/s/ env.Library( target='sharding_api', source=[ 'cluster_ddl.cpp', 'cluster_write.cpp', 'collection_routing_info_targeter.cpp', 'write_ops/batch_write_exec.cpp', 'write_ops/batch_write_op.cpp', 'write_ops/bulk_write_exec.cpp', 'write_ops/write_op.cpp', 'write_ops/write_without_shard_key_util.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/commands/bulk_write_common', '$BUILD_DIR/mongo/db/commands/server_status_core', '$BUILD_DIR/mongo/db/fle_crud', '$BUILD_DIR/mongo/db/not_primary_error_tracker', '$BUILD_DIR/mongo/db/ops/parsed_update', '$BUILD_DIR/mongo/db/pipeline/pipeline', '$BUILD_DIR/mongo/db/pipeline/process_interface/mongos_process_interface', '$BUILD_DIR/mongo/db/shard_role_api', '$BUILD_DIR/mongo/db/timeseries/timeseries_conversion_util', '$BUILD_DIR/mongo/db/timeseries/timeseries_options', 'query/cluster_query', 'sharding_router_api', 'write_ops/batch_write_types', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/catalog/collection_uuid_mismatch_info', '$BUILD_DIR/mongo/db/internal_transactions_feature_flag', '$BUILD_DIR/mongo/db/transaction/transaction_api', '$BUILD_DIR/mongo/executor/inline_executor', ], ) env.Library( target='query_analysis_sampler', source=[ 'query_analysis_sampler.cpp', 'query_analysis_sampler_util.cpp', 'query_analysis_server_status.cpp', ], LIBDEPS_PRIVATE=[ 'analyze_shard_key_common', 'analyze_shard_key_util', 'grid', ], ) env.Library( target='sharding_router_api', source=[ 'cluster_commands_helpers.cpp', 'collection_uuid_mismatch.cpp', 'multi_statement_transaction_requests_sender.cpp', 'router_transactions_metrics.cpp', 'router_transactions_stats.idl', 'router_role.cpp', 'session_catalog_router.cpp', 'shard_key_pattern_query_util.cpp', 'stale_shard_version_helpers.cpp', 'transaction_router_resource_yielder.cpp', 'transaction_router.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/commands/txn_cmd_request', '$BUILD_DIR/mongo/db/pipeline/process_interface/mongo_process_interface', '$BUILD_DIR/mongo/db/repl/read_concern_args', '$BUILD_DIR/mongo/db/session/logical_session_id_helpers', '$BUILD_DIR/mongo/db/session/session_catalog', '$BUILD_DIR/mongo/db/shared_request_handling', 'async_requests_sender', 'grid', 'query_analysis_sampler', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/catalog/collection_uuid_mismatch_info', '$BUILD_DIR/mongo/db/internal_transactions_feature_flag', '$BUILD_DIR/mongo/db/mongohasher', '$BUILD_DIR/mongo/db/query/op_metrics', '$BUILD_DIR/mongo/db/query/query_planner', '$BUILD_DIR/mongo/db/session/sessions_collection', ], ) # Functionality for initializing all the services used by sharding, which are common between MongoS # and MongoD env.Library( target='sharding_initialization', source=[ 'sharding_initialization.cpp', 'sharding_task_executor_pool_controller.cpp', 'sharding_task_executor_pool.idl', 'client/sharding_connection_hook.cpp', 'client/sharding_network_connection_hook.cpp', 'initialize_tenant_to_shard_cache.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/util/periodic_runner_factory', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface', '$BUILD_DIR/mongo/db/server_base', '$BUILD_DIR/mongo/executor/async_multicaster', '$BUILD_DIR/mongo/executor/connection_pool_executor', '$BUILD_DIR/mongo/executor/thread_pool_task_executor', 'analyze_shard_key_util', 'catalog/sharding_catalog_client_impl', 'coreshard', 'sharding_task_executor', ], ) env.Library( target='async_requests_sender', source=[ 'async_requests_sender.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/query/command_request_response', '$BUILD_DIR/mongo/executor/scoped_task_executor', '$BUILD_DIR/mongo/executor/task_executor_interface', '$BUILD_DIR/mongo/s/client/shard_interface', '$BUILD_DIR/mongo/s/client/sharding_client', 'coreshard', 'mongos_server_parameters', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/executor/hedge_options_util', ], ) env.Library( target='load_balancer_support', source=[ 'load_balancer_support.cpp', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/server_base', '$BUILD_DIR/mongo/db/service_context', 'mongos_server_parameters', ], ) env.Library( target='analyze_shard_key_common', source=[ 'analyze_shard_key_common.idl', 'analyze_shard_key_documents.idl', 'analyze_shard_key_server_parameters.idl', 'analyze_shard_key_role.cpp', 'query_analysis_sample_tracker.cpp', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/pipeline/runtime_constants_idl', '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface', '$BUILD_DIR/mongo/db/server_base', '$BUILD_DIR/mongo/s/is_mongos', '$BUILD_DIR/mongo/util/namespace_string_database_name_util', ], ) env.Library( target='analyze_shard_key_util', source=[ 'analyze_shard_key_util.cpp', 'query_analysis_client.cpp', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/dbdirectclient', '$BUILD_DIR/mongo/db/shard_role', ], ) # Sharding code needed by both mongos and mongod. env.Library( target='common_s', source=[ 'analyze_shard_key_cmd.idl', 'cannot_implicitly_create_collection_info.cpp', 'catalog/type_changelog.cpp', 'catalog/type_chunk.cpp', 'catalog/type_chunk_base.idl', 'catalog/type_collection.cpp', 'catalog/type_collection.idl', 'catalog/type_config_version.cpp', 'catalog/type_database.idl', 'catalog/type_index_catalog.idl', 'catalog/type_index_catalog.cpp', 'catalog/type_mongos.cpp', 'catalog/type_namespace_placement.idl', 'catalog/type_shard.cpp', 'catalog/type_tags.cpp', 'check_metadata_consistency.idl', 'chunk.cpp', 'chunk_manager.cpp', 'chunk_version.cpp', 'chunk_version.idl', 'configure_query_analyzer_cmd.idl', 'database_version.cpp', 'database_version.idl', 'index_version.cpp', 'index_version.idl', 'mongod_and_mongos_server_parameters.idl', 'move_primary/move_primary_feature_flag.idl', 'refresh_query_analyzer_configuration_cmd.idl', 'request_types/abort_reshard_collection.idl', 'request_types/add_shard_request_type.cpp', 'request_types/add_shard_to_zone_request_type.cpp', 'request_types/auto_split_vector.idl', 'request_types/balancer_collection_status.idl', 'request_types/cleanup_reshard_collection.idl', 'request_types/clone_catalog_data.idl', 'request_types/cluster_commands_without_shard_key.idl', 'request_types/commit_reshard_collection.idl', 'request_types/configure_collection_balancing.idl', 'request_types/drop_collection_if_uuid_not_matching.idl', 'request_types/ensure_chunk_version_is_greater_than.idl', 'request_types/flush_database_cache_updates.idl', 'request_types/flush_resharding_state_change.idl', 'request_types/flush_routing_table_cache_updates.idl', 'request_types/get_database_version.idl', 'request_types/get_stats_for_balancing.idl', 'request_types/merge_chunk_request.idl', 'request_types/migration_secondary_throttle_options.cpp', 'request_types/move_primary.idl', 'request_types/move_range_request.idl', 'request_types/placement_history_commands.idl', 'request_types/remove_shard_from_zone_request_type.cpp', 'request_types/reshard_collection.idl', 'request_types/resharding_operation_time.idl', 'request_types/set_allow_migrations.idl', 'request_types/sharded_ddl_commands.idl', 'request_types/shardsvr_join_migrations_request.idl', 'request_types/transition_from_dedicated_config_server.idl', 'request_types/transition_to_dedicated_config_server.idl', 'request_types/update_zone_key_range_request_type.cpp', 'request_types/wait_for_fail_point.idl', 'resharding/common_types.idl', 'resharding/resharding_coordinator_service_conflicting_op_in_progress_info.cpp', 'resharding/resharding_feature_flag.idl', 'resharding/resume_token.idl', 'resharding/type_collection_fields.idl', 'shard_cannot_refresh_due_to_locks_held_exception.cpp', 'shard_invalidated_for_targeting_exception.cpp', 'shard_key_pattern.cpp', 'shard_version.cpp', 'shard_version.idl', 'shard_version_factory.cpp', 'sharding_feature_flags.idl', 'stale_exception.cpp', 'type_collection_common_types.idl', 'would_change_owning_shard_exception.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/client/connection_string', '$BUILD_DIR/mongo/db/auth/authprivilege', '$BUILD_DIR/mongo/db/coll_mod_command_idl', '$BUILD_DIR/mongo/db/commands/cluster_server_parameter_cmds_idl', '$BUILD_DIR/mongo/db/commands/set_user_write_block_mode_idl', '$BUILD_DIR/mongo/db/common', '$BUILD_DIR/mongo/db/index_commands_idl', '$BUILD_DIR/mongo/db/serialization_options', '$BUILD_DIR/mongo/rpc/message', '$BUILD_DIR/mongo/util/caching', 'analyze_shard_key_common', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/client/read_preference', '$BUILD_DIR/mongo/db/matcher/path', '$BUILD_DIR/mongo/db/metadata_consistency_types_idl', '$BUILD_DIR/mongo/db/mongohasher', '$BUILD_DIR/mongo/db/server_base', '$BUILD_DIR/mongo/db/storage/key_string', '$BUILD_DIR/mongo/db/timeseries/timeseries_options', '$BUILD_DIR/mongo/util/namespace_string_database_name_util', ], ) env.Library( target='sharding_task_executor', source=[ 'sharding_task_executor.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/operation_time_tracker', '$BUILD_DIR/mongo/executor/thread_pool_task_executor', '$BUILD_DIR/mongo/s/client/sharding_client', 'sharding_router_api', ], ) # This library contains sharding functionality used by both mongod and mongos env.Library( target='grid', source=[ 'balancer_configuration.cpp', 'catalog_cache.cpp', 'client/shard_factory.cpp', 'client/shard_registry.cpp', 'sharding_index_catalog_cache.cpp', 'grid.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/client/clientdriver_network', '$BUILD_DIR/mongo/db/logical_time_metadata_hook', '$BUILD_DIR/mongo/db/server_base', '$BUILD_DIR/mongo/db/update/update_common', '$BUILD_DIR/mongo/executor/task_executor_pool', '$BUILD_DIR/mongo/util/concurrency/thread_pool', 'client/shard_interface', 'common_s', 'query/cluster_cursor_manager', ], ) # This library contains sharding functionality used by both mongod and mongos env.Library( target='coreshard', source=[ 'catalog_cache_loader.cpp', 'cluster_identity_loader.cpp', 'config_server_catalog_cache_loader.cpp', 'shard_util.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/client_metadata_propagation_egress_hook', '$BUILD_DIR/mongo/util/concurrency/thread_pool', 'grid', ], ) env.Library( target='is_mongos', source=[ 'is_mongos.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/server_base', ], ) env.Library( target='mongos_hello_response', source=[ 'mongos_hello_response.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/bson/util/bson_extract', '$BUILD_DIR/mongo/rpc/metadata', ], ) env.Library( target='mongos_topology_coordinator', source=[ 'mongos_topology_coordinator.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/common', '$BUILD_DIR/mongo/rpc/metadata', '$BUILD_DIR/mongo/transport/transport_layer_common', '$BUILD_DIR/mongo/util/fail_point', 'mongos_hello_response', ], ) env.Library( target='mongos_server_parameters', source=[ 'mongos_server_parameters.cpp', 'mongos_server_parameters.idl', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/server_base', ], ) env.Library( target='sessions_collection_sharded', source=[ 'sessions_collection_sharded.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/session/sessions_collection', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/server_base', 'sharding_api', ], ) env.Library( target='vector_clock_mongos', source=[ 'vector_clock_mongos.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/vector_clock', ], ) env.Library( target='startup_initialization', source=[ 'service_entry_point_mongos.cpp', 'sharding_uptime_reporter.cpp', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/not_primary_error_tracker', '$BUILD_DIR/mongo/db/read_write_concern_defaults', '$BUILD_DIR/mongo/db/session/session_catalog', '$BUILD_DIR/mongo/db/stats/top', 'commands/cluster_commands_common', 'load_balancer_support', 'sharding_router_api', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/catalog/collection_catalog', '$BUILD_DIR/mongo/transport/service_entry_point', ], ) env.Library( target='mongos_initializers', source=[ 'cluster_cursor_stats.cpp', 'router_transactions_server_status.cpp', 's_sharding_server_status.cpp', ], LIBDEPS_PRIVATE=[ # NOTE: If you need to add a static or mongo initializer to mongos startup, # please add that library here, as a private library dependency. '$BUILD_DIR/mongo/db/audit', '$BUILD_DIR/mongo/db/auth/authmongos', '$BUILD_DIR/mongo/db/commands/server_status_core', '$BUILD_DIR/mongo/db/commands/server_status_servers', '$BUILD_DIR/mongo/db/dbdirectclient', '$BUILD_DIR/mongo/db/ftdc/ftdc_mongos', '$BUILD_DIR/mongo/db/logical_time_metadata_hook', '$BUILD_DIR/mongo/db/pipeline/process_interface/mongos_process_interface_factory', '$BUILD_DIR/mongo/db/process_health/fault_manager', '$BUILD_DIR/mongo/db/query/op_metrics', '$BUILD_DIR/mongo/db/read_write_concern_defaults', '$BUILD_DIR/mongo/db/server_options', '$BUILD_DIR/mongo/db/server_options_base', '$BUILD_DIR/mongo/db/service_liaison_mongos', '$BUILD_DIR/mongo/db/session/session_catalog', '$BUILD_DIR/mongo/db/startup_warnings_common', '$BUILD_DIR/mongo/db/stats/counters', '$BUILD_DIR/mongo/db/stats/latency_server_stats', '$BUILD_DIR/mongo/db/windows_options' if env.TargetOSIs('windows') else [], '$BUILD_DIR/mongo/executor/async_rpc_error_info', '$BUILD_DIR/mongo/executor/hedging_metrics', '$BUILD_DIR/mongo/transport/message_compressor_options_server', '$BUILD_DIR/mongo/transport/service_entry_point', '$BUILD_DIR/mongo/transport/transport_layer_manager', '$BUILD_DIR/mongo/util/clock_sources', '$BUILD_DIR/mongo/util/fail_point', '$BUILD_DIR/mongo/util/latch_analyzer' if get_option('use-diagnostic-latches') == 'on' else [], '$BUILD_DIR/mongo/util/net/http_client_impl', '$BUILD_DIR/mongo/util/net/ssl_options_server' if get_option('ssl') == 'on' else '', '$BUILD_DIR/mongo/util/ntservice', '$BUILD_DIR/mongo/util/options_parser/options_parser', '$BUILD_DIR/mongo/util/options_parser/options_parser_init', '$BUILD_DIR/mongo/util/testing_options', '$BUILD_DIR/mongo/util/version_impl', 'commands/cluster_commands', 'commands/cluster_commands_common', 'commands/sharded_cluster_commands', 'commands/sharded_cluster_sharding_commands', 'coreshard', 'is_mongos', 'mongos_server_parameters', 'mongos_topology_coordinator', 'query/cluster_cursor_cleanup_job', 'sharding_initialization', 'sharding_router_api', ], LIBDEPS=[ # NOTE: This list must remain empty. Please only add to LIBDEPS_PRIVATE ], ) env.Library( target='mongos_main', source=[ 'read_write_concern_defaults_cache_lookup_mongos.cpp', 'mongos_main.cpp', 'mongos_options.cpp', 'mongos_options_init.cpp', 'mongos_options.idl', 'version_mongos.cpp', ], LIBDEPS_PRIVATE=[ # NOTE: Do not add new libdeps (public or private) here unless # required by the linker to satisfy symbol dependencies from # the files listed above in `sources`. If you need to add a # library to inject a static or mongo initializer to mongos, # please add that library as a private libdep of # mongos_initializers. '$BUILD_DIR/mongo/client/remote_command_targeter', '$BUILD_DIR/mongo/db/audit', '$BUILD_DIR/mongo/db/auth/authmongos', '$BUILD_DIR/mongo/db/change_stream_options_manager', '$BUILD_DIR/mongo/db/change_streams_cluster_parameter', '$BUILD_DIR/mongo/db/commands/rwc_defaults_commands', '$BUILD_DIR/mongo/db/ftdc/ftdc_mongos', '$BUILD_DIR/mongo/db/process_health/fault_manager', '$BUILD_DIR/mongo/db/read_write_concern_defaults', '$BUILD_DIR/mongo/db/serverinit', '$BUILD_DIR/mongo/db/service_liaison_mongos', '$BUILD_DIR/mongo/db/session/logical_session_cache_impl', '$BUILD_DIR/mongo/db/session/session_catalog', '$BUILD_DIR/mongo/db/startup_warnings_common', '$BUILD_DIR/mongo/idl/cluster_server_parameter_refresher', '$BUILD_DIR/mongo/transport/ingress_handshake_metrics', '$BUILD_DIR/mongo/transport/service_entry_point', '$BUILD_DIR/mongo/transport/transport_layer_manager', '$BUILD_DIR/mongo/util/latch_analyzer' if get_option('use-diagnostic-latches') == 'on' else [], '$BUILD_DIR/mongo/util/signal_handlers', 'client/sharding_client', 'commands/cluster_commands', 'commands/cluster_commands_common', 'load_balancer_support', 'mongos_initializers', 'mongos_topology_coordinator', 'query/cluster_cursor_cleanup_job', 'sessions_collection_sharded', 'sharding_initialization', 'sharding_router_api', 'startup_initialization', ], LIBDEPS=[ # NOTE: This list must remain empty. Please only add to LIBDEPS_PRIVATE ], ) if env.TargetOSIs('windows'): generatedServerManifest = env.Substfile( 'mongos.manifest.in', SUBST_DICT=[ ('@mongo_version_major@', version_parts[0]), ('@mongo_version_minor@', version_parts[1]), ('@mongo_version_patch@', version_parts[2]), ('@mongo_version_extra@', version_parts[3]), ('@mongo_version_extra_str@', version_extra), ], ) env.Alias('generated-sources', generatedServerManifest) env.Depends("mongos.res", generatedServerManifest) env.Program( target='mongos', source=[ 'mongos.cpp', ] + env.WindowsResourceFile("mongos.rc"), LIBDEPS=[ # NOTE: Do not add new libdeps (public or private) here unless # required by the linker to satisfy symbol dependencies from # the files listed above in `sources`. If you need to add a # library to inject a static or mongo initializer to mongos, # please add that library as a private libdep of # mongos_initializers. '$BUILD_DIR/mongo/base', 'mongos_main', ], AIB_COMPONENT="mongos", AIB_COMPONENTS_EXTRA=[ "core", "default", "devcore", "dist", "dist-test", "integration-tests", "servers", ], ) env.Library( target='sharding_test_fixture_common', source=[ 'sharding_test_fixture_common.cpp', 'catalog_cache_loader_mock.cpp', 'catalog_cache_mock.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/client/remote_command_targeter_mock', '$BUILD_DIR/mongo/db/service_context_test_fixture', '$BUILD_DIR/mongo/executor/network_interface_mock', '$BUILD_DIR/mongo/executor/network_test_env', '$BUILD_DIR/mongo/executor/thread_pool_task_executor_test_fixture', 'coreshard', 'write_ops/batch_write_types', ], ) env.Library( target='sharding_router_test_fixture', source=[ 'catalog_cache_test_fixture.cpp', 'sharding_router_test_fixture.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/query/collation/collator_factory_mock', '$BUILD_DIR/mongo/executor/task_executor_pool', '$BUILD_DIR/mongo/transport/transport_layer_mock', '$BUILD_DIR/mongo/util/clock_source_mock', 'catalog/sharding_catalog_client_impl', 'coreshard', 'sharding_task_executor', 'sharding_test_fixture_common', ], ) env.CppUnitTest( target='s_test', source=[ 'append_raw_responses_test.cpp', 'async_requests_sender_test.cpp', 'async_rpc_shard_targeter_test.cpp', 'balancer_configuration_test.cpp', 'catalog/sharding_catalog_client_test.cpp', 'catalog/sharding_catalog_write_retry_test.cpp', 'catalog/type_changelog_test.cpp', 'catalog/type_chunk_test.cpp', 'catalog/type_collection_test.cpp', 'catalog/type_config_version_test.cpp', 'catalog/type_database_test.cpp', 'catalog/type_mongos_test.cpp', 'catalog/type_shard_test.cpp', 'catalog/type_tags_test.cpp', 'catalog_cache_refresh_test.cpp', 'catalog_cache_test.cpp', 'chunk_manager_query_test.cpp', 'chunk_map_test.cpp', 'chunk_test.cpp', 'chunk_version_test.cpp', 'client/shard_remote_test.cpp', 'cluster_identity_loader_test.cpp', 'collection_routing_info_targeter_test.cpp', 'comparable_chunk_version_test.cpp', 'comparable_database_version_test.cpp', 'comparable_index_version_test.cpp', 'sharding_index_catalog_cache_test.cpp', 'load_balancer_support_test.cpp', 'mock_ns_targeter.cpp', 'mongos_core_options_stub.cpp', 'mongos_topology_coordinator_test.cpp', 'query_analysis_sample_tracker_test.cpp', 'query_analysis_sampler_test.cpp', 'request_types/add_shard_request_test.cpp', 'request_types/add_shard_to_zone_request_test.cpp', 'request_types/merge_chunks_request_test.cpp', 'request_types/migration_secondary_throttle_options_test.cpp', 'request_types/remove_shard_from_zone_request_test.cpp', 'request_types/update_zone_key_range_request_test.cpp', 'routing_table_history_test.cpp', 'sessions_collection_sharded_test.cpp', 'shard_key_pattern_query_util_index_bounds_test.cpp', 'shard_key_pattern_test.cpp', 'shard_version_test.cpp', 'sharding_task_executor_test.cpp', 'stale_exception_test.cpp', 'stale_shard_version_helpers_test.cpp', 'transaction_router_test.cpp', 'write_ops/batch_write_exec_test.cpp', 'write_ops/batch_write_op_test.cpp', 'write_ops/batched_command_request_test.cpp', 'write_ops/batched_command_response_test.cpp', 'write_ops/bulk_write_command_modifier_test.cpp', 'write_ops/bulk_write_exec_test.cpp', 'write_ops/write_op_test.cpp', 'write_ops/write_without_shard_key_util_test.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/auth/authmocks', '$BUILD_DIR/mongo/db/mongohasher', '$BUILD_DIR/mongo/db/ops/parsed_update', '$BUILD_DIR/mongo/db/ops/write_ops_parsers_test_helpers', '$BUILD_DIR/mongo/db/pipeline/process_interface/mongos_process_interface_factory', '$BUILD_DIR/mongo/db/query/query_test_service_context', '$BUILD_DIR/mongo/db/repl/replmocks', '$BUILD_DIR/mongo/db/timeseries/timeseries_conversion_util', '$BUILD_DIR/mongo/db/timeseries/timeseries_options', '$BUILD_DIR/mongo/dbtests/mocklib', '$BUILD_DIR/mongo/executor/async_rpc', '$BUILD_DIR/mongo/util/net/network', '$BUILD_DIR/mongo/util/periodic_runner_factory', 'catalog/sharding_catalog_client_mock', 'commands/cluster_commands', 'commands/cluster_commands_common', 'coreshard', 'load_balancer_support', 'mongos_topology_coordinator', 'sessions_collection_sharded', 'sharding_api', 'sharding_router_test_fixture', 'sharding_task_executor', 'vector_clock_mongos', ], )