diff options
author | Andrew Morrow <acm@mongodb.com> | 2018-01-09 14:39:34 -0500 |
---|---|---|
committer | Andrew Morrow <acm@mongodb.com> | 2018-01-10 21:26:25 -0500 |
commit | 9d1f323a131ba5e3e1af79973ae79910de10a957 (patch) | |
tree | f5d7f5463069ce3462adbf819450e68a64c8c2a1 | |
parent | 37cb7ea09393e88662e3139bd20fa29e59f2a1a3 (diff) | |
download | mongo-9d1f323a131ba5e3e1af79973ae79910de10a957.tar.gz |
SERVER-30815 Refactor libraries to reduce cycles
- Merge db/s/split_vector and db/s/split_chunk into db/s/sharding, since they
were directly mutually cyclic with it.
- Split db/index/index_access_method out of db/index/index_access_methods, so
that libquery_exec can use the abstract class without needing to know about the
detailed implementations
- Combine db/clientcursor, db/query/{query,internal_plans},
db/exec/exec, parts of db/write_ops, and
db/pipeline/serveronly_pipeline, into a new db/libquery_exec library.
- Split a new library s/grid out of s/coreshard, and fold the parts of
s/client/sharding_client into s/grid that were cyclic with coreshard, solving
this cycle.
- Adds/removes a few stray LIBDEPS here or there as needed to make the above
transformations work.
After making this transformation, we will be left with one important cycle: the
new db/libquery_exec is still cyclic with db/s/sharding
-rw-r--r-- | src/mongo/SConscript | 2 | ||||
-rw-r--r-- | src/mongo/db/SConscript | 180 | ||||
-rw-r--r-- | src/mongo/db/catalog/SConscript | 8 | ||||
-rw-r--r-- | src/mongo/db/commands/SConscript | 7 | ||||
-rw-r--r-- | src/mongo/db/exec/SConscript | 88 | ||||
-rw-r--r-- | src/mongo/db/index/SConscript | 31 | ||||
-rw-r--r-- | src/mongo/db/matcher/SConscript | 2 | ||||
-rw-r--r-- | src/mongo/db/ops/SConscript | 4 | ||||
-rw-r--r-- | src/mongo/db/pipeline/SConscript | 18 | ||||
-rw-r--r-- | src/mongo/db/query/SConscript | 58 | ||||
-rw-r--r-- | src/mongo/db/repl/SConscript | 21 | ||||
-rw-r--r-- | src/mongo/db/s/SConscript | 59 | ||||
-rw-r--r-- | src/mongo/db/stats/SConscript | 3 | ||||
-rw-r--r-- | src/mongo/db/storage/mmap_v1/SConscript | 1 | ||||
-rw-r--r-- | src/mongo/dbtests/SConscript | 3 | ||||
-rw-r--r-- | src/mongo/s/SConscript | 34 | ||||
-rw-r--r-- | src/mongo/s/client/SConscript | 11 |
17 files changed, 214 insertions, 316 deletions
diff --git a/src/mongo/SConscript b/src/mongo/SConscript index f777dd3965b..452931d63eb 100644 --- a/src/mongo/SConscript +++ b/src/mongo/SConscript @@ -280,7 +280,6 @@ env.Library( ], LIBDEPS_PRIVATE=[ 'db/catalog/health_log', - 'db/clientcursor', 'db/commands/core', 'db/conn_pool_options', 'db/dbdirectclient', @@ -293,6 +292,7 @@ env.Library( 'db/mongod_options', 'db/mongodandmongos', 'db/op_observer_d', + 'db/query_exec', 'db/repair_database', 'db/repl/repl_set_commands', 'db/repl/storage_interface_impl', diff --git a/src/mongo/db/SConscript b/src/mongo/db/SConscript index baf6fc4e44f..f0dd5c1ac1f 100644 --- a/src/mongo/db/SConscript +++ b/src/mongo/db/SConscript @@ -568,8 +568,9 @@ env.Library( 'dbhelpers.cpp', ], LIBDEPS=[ + 'query_exec', 'db_raii', - 'index/index_access_methods', + 'index/index_access_method', 'write_ops', ], ) @@ -582,6 +583,7 @@ env.Library( LIBDEPS=[ 'db_raii', 'catalog/index_key_validate', + 'concurrency/write_conflict_exception', ], ) @@ -634,31 +636,14 @@ env.Library( ) env.Library( - target="clientcursor", - source=[ - "clientcursor.cpp", - "cursor_manager.cpp", - ], - LIBDEPS=[ - "$BUILD_DIR/mongo/base", - "$BUILD_DIR/mongo/db/logical_session_cache", - "$BUILD_DIR/mongo/db/logical_session_id", - "$BUILD_DIR/mongo/util/background_job", - "cursor_server_params", - "background", - "query/query", - ], -) - -env.Library( target="cloner", source=[ "cloner.cpp", ], LIBDEPS=[ 'dbdirectclient', - 'write_ops', 'repl/isself', + 'write_ops', '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/catalog/index_create', ], @@ -707,7 +692,7 @@ env.Library( ], LIBDEPS=[ 'dbhelpers', - 'index/index_access_methods', + 'index/index_access_method', '$BUILD_DIR/mongo/db/storage/mmap_v1/mmap', ], ) @@ -756,8 +741,7 @@ env.Library( LIBDEPS=[ "commands/dcommands_fsync", "db_raii", - "write_ops", - "query/query", + "query_exec", "ttl_collection_cache", ], ) @@ -773,6 +757,106 @@ env.Library( ) env.Library( + target='query_exec', + source=[ + 'clientcursor.cpp', + 'cursor_manager.cpp', + 'exec/and_hash.cpp', + 'exec/and_sorted.cpp', + 'exec/cached_plan.cpp', + 'exec/collection_scan.cpp', + 'exec/count.cpp', + 'exec/count_scan.cpp', + 'exec/delete.cpp', + 'exec/distinct_scan.cpp', + 'exec/ensure_sorted.cpp', + 'exec/eof.cpp', + 'exec/fetch.cpp', + 'exec/geo_near.cpp', + 'exec/group.cpp', + 'exec/idhack.cpp', + 'exec/index_iterator.cpp', + 'exec/index_scan.cpp', + 'exec/keep_mutations.cpp', + 'exec/limit.cpp', + 'exec/merge_sort.cpp', + 'exec/multi_iterator.cpp', + 'exec/multi_plan.cpp', + 'exec/near.cpp', + 'exec/oplogstart.cpp', + 'exec/or.cpp', + 'exec/pipeline_proxy.cpp', + 'exec/plan_stage.cpp', + 'exec/projection.cpp', + 'exec/projection_exec.cpp', + 'exec/queued_data_stage.cpp', + 'exec/shard_filter.cpp', + 'exec/skip.cpp', + 'exec/sort.cpp', + 'exec/sort_key_generator.cpp', + 'exec/subplan.cpp', + 'exec/text.cpp', + 'exec/text_match.cpp', + 'exec/text_or.cpp', + 'exec/update.cpp', + 'exec/working_set_common.cpp', + 'exec/write_stage_common.cpp', + 'ops/parsed_delete.cpp', + 'ops/parsed_update.cpp', + 'ops/update_lifecycle_impl.cpp', + 'ops/update_result.cpp', + 'query/explain.cpp', + 'query/find.cpp', + 'pipeline/document_source_cursor.cpp', + 'pipeline/pipeline_d.cpp', + 'query/get_executor.cpp', + 'query/internal_plans.cpp', + 'query/plan_executor.cpp', + 'query/plan_ranker.cpp', + 'query/plan_yield_policy.cpp', + 'query/query_yield.cpp', + 'query/stage_builder.cpp', + ], + LIBDEPS=[ + '$BUILD_DIR/mongo/base', + '$BUILD_DIR/mongo/s/common_s', + '$BUILD_DIR/mongo/scripting/scripting', + '$BUILD_DIR/mongo/util/background_job', + '$BUILD_DIR/mongo/util/elapsed_tracker', + '$BUILD_DIR/third_party/s2/s2', + 'background', + 'bson/dotted_path_support', + 'catalog/collection', + 'catalog/collection_info_cache', + 'catalog/database', + 'catalog/document_validation', + 'catalog/index_catalog', + 'catalog/index_catalog_entry', + 'commands', + 'concurrency/write_conflict_exception', + 'curop', + 'cursor_server_params', + 'db_raii', + 'exec/scoped_timer', + 'exec/working_set', + 'fts/base_fts', + 'index/index_descriptor', + 'index/key_generator', + 'logical_session_cache', + 'matcher/expressions_mongod_only', + 'pipeline/pipeline', + 'query/query_common', + 'query/query_planner', + 'repl/repl_coordinator_global', + 'repl/repl_coordinator_interface', + 's/sharding', + 'stats/serveronly_stats', + 'storage/oplog_hack', + 'storage/storage_options', + ], +) + +env.Library( target="serveronly", source=[ # DO NOT ADD ADDITIONAL FILES TO THIS LIST. @@ -801,7 +885,6 @@ env.Library( "catalog/collection_options", "catalog/document_validation", "catalog/index_key_validate", - "clientcursor", "cloner", "collection_index_usage_tracker", "commands/dcommands", @@ -814,23 +897,20 @@ env.Library( "db_raii", "dbdirectclient", "dbhelpers", - "exec/exec", "exec/working_set", "ftdc/ftdc_mongod", "fts/ftsmongod", - "index/index_access_methods", + "index/index_access_method", "index/index_descriptor", "index_d", "introspect", 'keys_collection_client_direct', "matcher/expressions_mongod_only", "op_observer_d", - "write_ops", "ops/write_ops_parsers", "pipeline/aggregation", - "pipeline/serveronly_pipeline", "prefetch", - "query/query", + "query_exec", "repair_database", "repl/bgsync", "repl/oplog_buffer_blocking_queue", @@ -956,7 +1036,7 @@ envWithAsio.Library( '$BUILD_DIR/mongo/db/logical_session_id', '$BUILD_DIR/mongo/util/clock_sources', '$BUILD_DIR/mongo/util/periodic_runner', - 'clientcursor', + 'query_exec', 'service_context', 'service_liason', ], @@ -1203,8 +1283,8 @@ env.Library( 'kill_sessions_local.cpp', ], LIBDEPS=[ - 'clientcursor', 'kill_sessions', + 'query_exec', ], ) @@ -1540,11 +1620,7 @@ env.Library( 'ops/delete.cpp', 'ops/find_and_modify_result.cpp', 'ops/insert.cpp', - 'ops/parsed_delete.cpp', - 'ops/parsed_update.cpp', 'ops/update.cpp', - 'ops/update_lifecycle_impl.cpp', - 'ops/update_result.cpp', 'ops/write_ops_retryability.cpp', 'session.cpp', 'session_catalog.cpp', @@ -1554,22 +1630,22 @@ env.Library( ], LIBDEPS=[ '$BUILD_DIR/mongo/base', - '$BUILD_DIR/mongo/db/catalog/collection_info_cache', - '$BUILD_DIR/mongo/db/concurrency/lock_manager', - '$BUILD_DIR/mongo/db/curop_metrics', - '$BUILD_DIR/mongo/db/dbdirectclient', - '$BUILD_DIR/mongo/db/introspect', - '$BUILD_DIR/mongo/db/index/index_access_methods', - '$BUILD_DIR/mongo/db/logical_session_id', - '$BUILD_DIR/mongo/db/matcher/expressions_mongod_only', - '$BUILD_DIR/mongo/db/namespace_string', - '$BUILD_DIR/mongo/db/query/command_request_response', - '$BUILD_DIR/mongo/db/query/query', - '$BUILD_DIR/mongo/db/repl/oplog_entry', - '$BUILD_DIR/mongo/db/repl/repl_coordinator_impl', - '$BUILD_DIR/mongo/db/service_context', - '$BUILD_DIR/mongo/db/update/update_driver', '$BUILD_DIR/mongo/idl/idl_parser', + 'catalog/collection_info_cache', + 'concurrency/lock_manager', + 'curop_metrics', + 'dbdirectclient', + 'index/index_access_method', + 'introspect', + 'logical_session_id', + 'matcher/expressions_mongod_only', + 'namespace_string', + 'query_exec', + 'query/command_request_response', + 'repl/oplog_entry', + 'repl/repl_coordinator_impl', + 'service_context', + 'update/update_driver', ], ) @@ -1580,8 +1656,8 @@ env.CppUnitTest( 'session_test.cpp', ], LIBDEPS=[ + 'query_exec', '$BUILD_DIR/mongo/db/repl/mock_repl_coord_server_fixture', - 'write_ops', ], ) @@ -1591,8 +1667,8 @@ env.CppUnitTest( 'transaction_history_iterator_test.cpp', ], LIBDEPS=[ + 'query_exec', '$BUILD_DIR/mongo/db/repl/mock_repl_coord_server_fixture', - 'write_ops', + ], ) - diff --git a/src/mongo/db/catalog/SConscript b/src/mongo/db/catalog/SConscript index 080fdbe8846..d3cd8bcb004 100644 --- a/src/mongo/db/catalog/SConscript +++ b/src/mongo/db/catalog/SConscript @@ -247,13 +247,12 @@ env.Library( 'index_key_validate', '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/background', - '$BUILD_DIR/mongo/db/clientcursor', '$BUILD_DIR/mongo/db/collection_index_usage_tracker', '$BUILD_DIR/mongo/db/concurrency/lock_manager', '$BUILD_DIR/mongo/db/curop', '$BUILD_DIR/mongo/db/db_raii', - '$BUILD_DIR/mongo/db/index/index_access_methods', - '$BUILD_DIR/mongo/db/query/query', + '$BUILD_DIR/mongo/db/index/index_access_method', + '$BUILD_DIR/mongo/db/query_exec', '$BUILD_DIR/mongo/db/repl/drop_pending_collection_reaper', '$BUILD_DIR/mongo/db/repl/oplog', '$BUILD_DIR/mongo/db/repl/serveronly_repl', @@ -285,8 +284,9 @@ env.Library( '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/background', '$BUILD_DIR/mongo/db/db_raii', - '$BUILD_DIR/mongo/db/write_ops', + '$BUILD_DIR/mongo/db/query_exec', '$BUILD_DIR/mongo/db/views/views', + '$BUILD_DIR/mongo/db/write_ops', ], ) diff --git a/src/mongo/db/commands/SConscript b/src/mongo/db/commands/SConscript index 57ded5e2191..98ac42c38c7 100644 --- a/src/mongo/db/commands/SConscript +++ b/src/mongo/db/commands/SConscript @@ -209,14 +209,14 @@ env.Library( '$BUILD_DIR/mongo/db/catalog/catalog_helpers', '$BUILD_DIR/mongo/db/catalog/collection', '$BUILD_DIR/mongo/db/catalog/index_key_validate', - '$BUILD_DIR/mongo/db/clientcursor', '$BUILD_DIR/mongo/db/cloner', '$BUILD_DIR/mongo/db/commands', - '$BUILD_DIR/mongo/db/index/index_access_methods', + '$BUILD_DIR/mongo/db/exec/stagedebug_cmd', + '$BUILD_DIR/mongo/db/index/index_access_method', '$BUILD_DIR/mongo/db/index_d', '$BUILD_DIR/mongo/db/lasterror', '$BUILD_DIR/mongo/db/ops/write_ops_parsers', - '$BUILD_DIR/mongo/db/pipeline/serveronly_pipeline', + '$BUILD_DIR/mongo/db/query_exec', '$BUILD_DIR/mongo/db/repair_database', '$BUILD_DIR/mongo/db/repl/dbcheck', '$BUILD_DIR/mongo/db/repl/isself', @@ -227,7 +227,6 @@ env.Library( '$BUILD_DIR/mongo/db/stats/serveronly_stats', '$BUILD_DIR/mongo/db/storage/mmap_v1/storage_mmapv1', '$BUILD_DIR/mongo/db/views/views_mongod', - '$BUILD_DIR/mongo/db/write_ops', '$BUILD_DIR/mongo/s/catalog/sharding_catalog_manager', '$BUILD_DIR/mongo/s/client/parallel', 'core', diff --git a/src/mongo/db/exec/SConscript b/src/mongo/db/exec/SConscript index 52fb644d548..892686c3d8e 100644 --- a/src/mongo/db/exec/SConscript +++ b/src/mongo/db/exec/SConscript @@ -38,84 +38,14 @@ env.Library( ) env.Library( - target = 'exec', - source = [ - "and_hash.cpp", - "and_sorted.cpp", - "cached_plan.cpp", - "collection_scan.cpp", - "count.cpp", - "count_scan.cpp", - "delete.cpp", - "distinct_scan.cpp", - "ensure_sorted.cpp", - "eof.cpp", - "fetch.cpp", - "geo_near.cpp", - "group.cpp", - "idhack.cpp", - "index_iterator.cpp", - "index_scan.cpp", - "keep_mutations.cpp", - "limit.cpp", - "merge_sort.cpp", - "multi_iterator.cpp", - "multi_plan.cpp", - "near.cpp", - "oplogstart.cpp", - "or.cpp", - "pipeline_proxy.cpp", - "plan_stage.cpp", - "projection.cpp", - "projection_exec.cpp", - "queued_data_stage.cpp", - "shard_filter.cpp", - "skip.cpp", - "sort.cpp", - "sort_key_generator.cpp", - "stagedebug_cmd.cpp", - "subplan.cpp", - "text.cpp", - "text_match.cpp", - "text_or.cpp", - "update.cpp", - "working_set_common.cpp", - "write_stage_common.cpp", + target='stagedebug_cmd', + source=[ + 'stagedebug_cmd.cpp' ], - LIBDEPS = [ - "scoped_timer", - "working_set", - "$BUILD_DIR/mongo/base", - "$BUILD_DIR/mongo/db/bson/dotted_path_support", - '$BUILD_DIR/mongo/db/catalog/collection', - '$BUILD_DIR/mongo/db/catalog/collection_info_cache', - '$BUILD_DIR/mongo/db/catalog/index_catalog', - "$BUILD_DIR/mongo/db/concurrency/write_conflict_exception", - "$BUILD_DIR/mongo/db/commands", - "$BUILD_DIR/mongo/db/curop", - "$BUILD_DIR/mongo/db/fts/base_fts", - "$BUILD_DIR/mongo/db/index/index_descriptor", - "$BUILD_DIR/mongo/db/index/key_generator", - "$BUILD_DIR/mongo/db/pipeline/pipeline", - "$BUILD_DIR/mongo/db/repl/repl_coordinator_global", - "$BUILD_DIR/mongo/db/update/update_driver", - "$BUILD_DIR/mongo/scripting/scripting", - "$BUILD_DIR/mongo/db/storage/storage_options", - "$BUILD_DIR/mongo/s/common_s", - '$BUILD_DIR/third_party/s2/s2', - '$BUILD_DIR/mongo/db/query/query_common', - #'$BUILD_DIR/mongo/db/write_ops', # CYCLE - #'$BUILD_DIR/mongo/db/index/index_access_methods', # CYCLE - #'$BUILD_DIR/mongo/db/matcher/expressions_mongod_only', # CYCLE - #'$BUILD_DIR/mongo/db/s/sharding', # CYCLE - #'$BUILD_DIR/mongo/db/query/query', # CYCLE - #'$BUILD_DIR/mongo/db/catalog/catalog', # CYCLE - #'$BUILD_DIR/mongo/db/pipeline/serveronly', # CYCLE + LIBDEPS=[ + "$BUILD_DIR/mongo/db/index/index_access_methods", + "$BUILD_DIR/mongo/db/query_exec", ], - LIBDEPS_TAGS=[ - # TODO(ADAM, 2017-01-06): See `CYCLE` tags above - 'illegal_cyclic_or_unresolved_dependencies_whitelisted', - ] ) env.CppUnitTest( @@ -124,7 +54,7 @@ env.CppUnitTest( "queued_data_stage_test.cpp", ], LIBDEPS = [ - "exec", + "$BUILD_DIR/mongo/db/query_exec", "$BUILD_DIR/mongo/db/serveronly", "$BUILD_DIR/mongo/dbtests/mocklib", "$BUILD_DIR/mongo/util/clock_source_mock", @@ -137,7 +67,7 @@ env.CppUnitTest( "sort_test.cpp", ], LIBDEPS = [ - "exec", + "$BUILD_DIR/mongo/db/query_exec", "$BUILD_DIR/mongo/db/serveronly", "$BUILD_DIR/mongo/dbtests/mocklib", "$BUILD_DIR/mongo/db/query/collation/collator_factory_mock", @@ -152,9 +82,9 @@ env.CppUnitTest( "projection_exec_test.cpp", ], LIBDEPS = [ + "$BUILD_DIR/mongo/db/query_exec", "$BUILD_DIR/mongo/db/query/collation/collator_interface_mock", "$BUILD_DIR/mongo/db/query/query_test_service_context", "$BUILD_DIR/mongo/db/serveronly", - "exec", ], ) diff --git a/src/mongo/db/index/SConscript b/src/mongo/db/index/SConscript index aaf0b99b701..42c11ea2362 100644 --- a/src/mongo/db/index/SConscript +++ b/src/mongo/db/index/SConscript @@ -74,6 +74,25 @@ env.CppUnitTest( serveronlyEnv = env.Clone() serveronlyEnv.InjectThirdPartyIncludePaths(libraries=['snappy']) serveronlyEnv.Library( + target="index_access_method", + source=[ + "index_access_method.cpp", + ], + LIBDEPS=[ + '$BUILD_DIR/mongo/base', + '$BUILD_DIR/mongo/db/catalog/index_catalog_entry', + '$BUILD_DIR/mongo/db/curop', + '$BUILD_DIR/mongo/db/concurrency/write_conflict_exception', + '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface', + '$BUILD_DIR/mongo/db/storage/encryption_hooks', + '$BUILD_DIR/mongo/db/storage/mmap_v1/btree', + '$BUILD_DIR/mongo/db/storage/storage_options', + '$BUILD_DIR/third_party/shim_snappy', + 'index_descriptor', + ], +) + +env.Library( target="index_access_methods", source=[ "2d_access_method.cpp", @@ -81,20 +100,12 @@ serveronlyEnv.Library( "fts_access_method.cpp", "hash_access_method.cpp", "haystack_access_method.cpp", - "index_access_method.cpp", "s2_access_method.cpp", ], LIBDEPS=[ '$BUILD_DIR/mongo/base', - '$BUILD_DIR/mongo/db/catalog/collection', - '$BUILD_DIR/mongo/db/catalog/index_catalog_entry', - '$BUILD_DIR/mongo/db/concurrency/write_conflict_exception', - '$BUILD_DIR/mongo/db/storage/storage_options', - '$BUILD_DIR/mongo/db/storage/mmap_v1/btree', - '$BUILD_DIR/mongo/db/query/query', - '$BUILD_DIR/third_party/shim_snappy', - 'expression_params', - 'index_descriptor', + '$BUILD_DIR/mongo/db/query_exec', + 'index_access_method', 'key_generator', ], ) diff --git a/src/mongo/db/matcher/SConscript b/src/mongo/db/matcher/SConscript index f2371745c70..6b7d0803fe5 100644 --- a/src/mongo/db/matcher/SConscript +++ b/src/mongo/db/matcher/SConscript @@ -163,10 +163,10 @@ env.Library( LIBDEPS=[ '$BUILD_DIR/mongo/db/auth/authorization_manager_global', '$BUILD_DIR/mongo/db/concurrency/lock_manager', - '$BUILD_DIR/mongo/db/db_raii', '$BUILD_DIR/mongo/db/fts/base_fts', '$BUILD_DIR/mongo/scripting/scripting_server', 'expressions', + '$BUILD_DIR/mongo/db/catalog/catalog_raii', '$BUILD_DIR/mongo/db/catalog/collection', '$BUILD_DIR/mongo/db/catalog/database', '$BUILD_DIR/mongo/db/catalog/index_catalog', diff --git a/src/mongo/db/ops/SConscript b/src/mongo/db/ops/SConscript index aeb6b0d5980..7755be679ee 100644 --- a/src/mongo/db/ops/SConscript +++ b/src/mongo/db/ops/SConscript @@ -14,9 +14,9 @@ env.Library( '$BUILD_DIR/mongo/db/repl/oplog', '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface', '$BUILD_DIR/mongo/util/fail_point', - '$BUILD_DIR/mongo/db/write_ops', '$BUILD_DIR/mongo/db/curop', '$BUILD_DIR/mongo/db/db_raii', + '$BUILD_DIR/mongo/db/write_ops', ], ) @@ -66,8 +66,8 @@ env.CppUnitTest( target='write_ops_retryability_test', source='write_ops_retryability_test.cpp', LIBDEPS=[ + '$BUILD_DIR/mongo/db/query_exec', '$BUILD_DIR/mongo/db/repl/mock_repl_coord_server_fixture', '$BUILD_DIR/mongo/db/repl/oplog_entry', - '$BUILD_DIR/mongo/db/write_ops', ], ) diff --git a/src/mongo/db/pipeline/SConscript b/src/mongo/db/pipeline/SConscript index 09f68229ad7..07ce1bd3585 100644 --- a/src/mongo/db/pipeline/SConscript +++ b/src/mongo/db/pipeline/SConscript @@ -510,24 +510,6 @@ env.CppUnitTest( ) env.Library( - target='serveronly_pipeline', - source=[ - 'document_source_cursor.cpp', - 'pipeline_d.cpp', - ], - LIBDEPS=[ - '$BUILD_DIR/mongo/db/catalog/document_validation', - '$BUILD_DIR/mongo/db/catalog/index_catalog', - '$BUILD_DIR/mongo/db/clientcursor', - '$BUILD_DIR/mongo/db/db_raii', - '$BUILD_DIR/mongo/db/dbdirectclient', - '$BUILD_DIR/mongo/db/index/index_access_methods', - '$BUILD_DIR/mongo/db/matcher/expressions_mongod_only', - '$BUILD_DIR/mongo/db/stats/serveronly_stats', - ], -) - -env.Library( target='document_sources_idl', source=[ env.Idlc('document_sources.idl')[0], diff --git a/src/mongo/db/query/SConscript b/src/mongo/db/query/SConscript index 6a0d30887b6..d665ccd9e28 100644 --- a/src/mongo/db/query/SConscript +++ b/src/mongo/db/query/SConscript @@ -57,43 +57,6 @@ env.CppUnitTest( ] ) -env.Library( - target='query', - source=[ - "explain.cpp", - "get_executor.cpp", - "find.cpp", - "plan_executor.cpp", - "plan_ranker.cpp", - "plan_yield_policy.cpp", - "query_yield.cpp", - "stage_builder.cpp", - ], - LIBDEPS=[ - "internal_plans", - "query_common", - "query_planner", - '$BUILD_DIR/mongo/db/catalog/collection', - '$BUILD_DIR/mongo/db/catalog/database', - '$BUILD_DIR/mongo/db/catalog/index_catalog', - '$BUILD_DIR/mongo/db/catalog/index_catalog_entry', - "$BUILD_DIR/mongo/db/curop", - "$BUILD_DIR/mongo/db/exec/exec", - "$BUILD_DIR/mongo/db/repl/repl_coordinator_interface", - "$BUILD_DIR/mongo/db/s/sharding", - "$BUILD_DIR/mongo/db/storage/oplog_hack", - "$BUILD_DIR/mongo/util/elapsed_tracker", - "$BUILD_DIR/mongo/db/matcher/expressions_mongod_only", - #'$BUILD_DIR/mongo/db/clientcursor', # CYCLE - #'$BUILD_DIR/mongo/db/write_ops', # CYCLE - #'$BUILD_DIR/mongo/db/catalog/catalog', # CYCLE - ], - LIBDEPS_TAGS=[ - # TODO(ADAM, 2017-04-06): See `CYCLE` tags above. - 'illegal_cyclic_or_unresolved_dependencies_whitelisted', - ], -) - # Shared mongod/mongos query code. env.Library( target="query_common", @@ -152,8 +115,8 @@ env.CppUnitTest( "get_executor_test.cpp" ], LIBDEPS=[ - "query", "query_test_service_context", + "$BUILD_DIR/mongo/db/query_exec", "$BUILD_DIR/mongo/db/serveronly", "$BUILD_DIR/mongo/dbtests/mocklib", ], @@ -220,23 +183,6 @@ env.CppUnitTest( ) env.Library( - target="internal_plans", - source=[ - "internal_plans.cpp" - ], - LIBDEPS=[ - '$BUILD_DIR/mongo/base', - '$BUILD_DIR/mongo/db/exec/exec', - '$BUILD_DIR/mongo/db/exec/working_set', - #'$BUILD_DIR/mongo/db/query/query', # CYCLE - ], - LIBDEPS_TAGS=[ - # TODO(ADAM, 2017-01-09): See `CYCLE` tags above - 'illegal_cyclic_or_unresolved_dependencies_whitelisted', - ], -) - -env.Library( target="query_request", source=[ "query_request.cpp", @@ -449,8 +395,8 @@ env.CppUnitTest( "query_planner_text_test.cpp" ], LIBDEPS=[ - "query", "query_planner_test_fixture", + "$BUILD_DIR/mongo/db/query_exec", "$BUILD_DIR/mongo/db/serveronly", "$BUILD_DIR/mongo/dbtests/mocklib", ], diff --git a/src/mongo/db/repl/SConscript b/src/mongo/db/repl/SConscript index 5027947b9b0..aacaa8fe09f 100644 --- a/src/mongo/db/repl/SConscript +++ b/src/mongo/db/repl/SConscript @@ -105,8 +105,8 @@ env.Library( '$BUILD_DIR/mongo/db/dbhelpers', '$BUILD_DIR/mongo/db/index_d', '$BUILD_DIR/mongo/db/index/index_descriptor', + '$BUILD_DIR/mongo/db/query_exec', '$BUILD_DIR/mongo/util/fail_point', - '$BUILD_DIR/mongo/db/write_ops', ], ) @@ -201,9 +201,8 @@ env.Library( '$BUILD_DIR/mongo/db/db_raii', ], LIBDEPS_PRIVATE=[ + '$BUILD_DIR/mongo/db/query_exec', '$BUILD_DIR/mongo/util/md5', - '$BUILD_DIR/mongo/db/query/internal_plans', - '$BUILD_DIR/mongo/db/query/query', ], ) @@ -245,9 +244,7 @@ env.Library( '$BUILD_DIR/mongo/db/catalog/catalog_helpers', '$BUILD_DIR/mongo/db/common', '$BUILD_DIR/mongo/db/dbhelpers', - '$BUILD_DIR/mongo/db/exec/exec', - '$BUILD_DIR/mongo/db/query/internal_plans', - '$BUILD_DIR/mongo/db/query/query', + '$BUILD_DIR/mongo/db/query_exec', '$BUILD_DIR/mongo/db/serveronly', # For OperationContextImpl ], ) @@ -465,9 +462,8 @@ env.Library( ], LIBDEPS=[ '$BUILD_DIR/mongo/db/catalog/database', - '$BUILD_DIR/mongo/db/query/internal_plans', - '$BUILD_DIR/mongo/db/query/query', '$BUILD_DIR/mongo/db/db_raii', + '$BUILD_DIR/mongo/db/query_exec', ], ) @@ -520,9 +516,9 @@ env.Library( '$BUILD_DIR/mongo/db/catalog/catalog_helpers', '$BUILD_DIR/mongo/db/catalog/database_holder', '$BUILD_DIR/mongo/db/s/sharding', - '$BUILD_DIR/mongo/db/write_ops', '$BUILD_DIR/mongo/util/fail_point', '$BUILD_DIR/mongo/db/dbhelpers', + '$BUILD_DIR/mongo/db/query_exec', ], ) @@ -564,9 +560,9 @@ env.Library( 'rs_rollback', 'rs_rollback_no_uuid', 'storage_interface_impl', + '$BUILD_DIR/mongo/db/query_exec', '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/db/service_context_d_test_fixture', - '$BUILD_DIR/mongo/db/write_ops', ], ) @@ -651,9 +647,9 @@ env.Library( '$BUILD_DIR/mongo/db/concurrency/write_conflict_exception', '$BUILD_DIR/mongo/db/curop', '$BUILD_DIR/mongo/db/prefetch', + '$BUILD_DIR/mongo/db/query_exec', '$BUILD_DIR/mongo/db/stats/timer_stats', '$BUILD_DIR/mongo/db/storage/storage_options', - '$BUILD_DIR/mongo/db/write_ops', '$BUILD_DIR/mongo/util/concurrency/thread_pool', '$BUILD_DIR/mongo/util/net/network', 'oplog_entry', @@ -1567,12 +1563,11 @@ env.Library( '$BUILD_DIR/mongo/db/lasterror', '$BUILD_DIR/mongo/db/logical_clock', '$BUILD_DIR/mongo/db/logical_time', - '$BUILD_DIR/mongo/db/query/query', + '$BUILD_DIR/mongo/db/query_exec', '$BUILD_DIR/mongo/db/repair_database', '$BUILD_DIR/mongo/db/repl/oplog_buffer_proxy', '$BUILD_DIR/mongo/db/s/balancer', '$BUILD_DIR/mongo/db/service_context', - '$BUILD_DIR/mongo/db/write_ops', '$BUILD_DIR/mongo/db/stats/counters', '$BUILD_DIR/mongo/rpc/client_metadata', '$BUILD_DIR/mongo/s/catalog/sharding_catalog_manager', diff --git a/src/mongo/db/s/SConscript b/src/mongo/db/s/SConscript index dfc83d2b4af..04f87ed67e3 100644 --- a/src/mongo/db/s/SConscript +++ b/src/mongo/db/s/SConscript @@ -86,28 +86,32 @@ env.Library( 'sharding_initialization_mongod.cpp', 'sharding_state.cpp', 'sharding_state_recovery.cpp', + 'split_chunk.cpp', + 'split_vector.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/bson/util/bson_extract', + '$BUILD_DIR/mongo/db/bson/dotted_path_support', '$BUILD_DIR/mongo/db/catalog/catalog_raii', '$BUILD_DIR/mongo/db/catalog/index_catalog', '$BUILD_DIR/mongo/db/catalog/index_create', + '$BUILD_DIR/mongo/db/commands/dcommands_fcv', + '$BUILD_DIR/mongo/db/commands/server_status', '$BUILD_DIR/mongo/db/common', - '$BUILD_DIR/mongo/db/query/internal_plans', + '$BUILD_DIR/mongo/db/repl/repl_coordinator_global', + '$BUILD_DIR/mongo/s/catalog/sharding_catalog_manager', '$BUILD_DIR/mongo/s/client/shard_local', '$BUILD_DIR/mongo/s/coreshard', '$BUILD_DIR/mongo/s/is_mongos', '$BUILD_DIR/mongo/s/sharding_initialization', + '$BUILD_DIR/mongo/s/sharding_request_types', '$BUILD_DIR/mongo/util/elapsed_tracker', + 'balancer', 'collection_metadata', 'migration_types', 'sharding_task_executor', 'type_shard_identity', - #'$BUILD_DIR/mongo/db/dbhelpers', # CYCLE - #'$BUILD_DIR/mongo/db/write_ops', # CYCLE - #'$BUILD_DIR/mongo/db/query/query', # CYCLE - #'$BUILD_DIR/mongo/s/catalog/sharding_catalog_manager', # CYCLE ], LIBDEPS_TAGS=[ # TODO(ADAM, 2017-01-06): See `CYCLE` tags above @@ -197,14 +201,13 @@ env.Library( '$BUILD_DIR/mongo/db/dbhelpers', '$BUILD_DIR/mongo/db/index_d', '$BUILD_DIR/mongo/db/repl/repl_coordinator_global', + '$BUILD_DIR/mongo/db/rw_concern_d', '$BUILD_DIR/mongo/s/catalog/sharding_catalog_manager', '$BUILD_DIR/mongo/s/commands/shared_cluster_commands', '$BUILD_DIR/mongo/s/sharding_request_types', 'balancer', 'collection_metadata', 'sharding', - 'split_chunk', - 'split_vector', ], ) @@ -277,46 +280,6 @@ env.CppUnitTest( ], ) -env.Library( - target='split_chunk', - source=[ - 'split_chunk.cpp', - ], - LIBDEPS=[ - '$BUILD_DIR/mongo/base', - '$BUILD_DIR/mongo/bson/util/bson_extract', - '$BUILD_DIR/mongo/db/catalog/catalog_raii', - '$BUILD_DIR/mongo/db/clientcursor', - '$BUILD_DIR/mongo/db/dbhelpers', - '$BUILD_DIR/mongo/db/exec/exec', - '$BUILD_DIR/mongo/db/pipeline/serveronly_pipeline', - '$BUILD_DIR/mongo/db/query/query', - '$BUILD_DIR/mongo/db/rw_concern_d', - '$BUILD_DIR/mongo/s/catalog/sharding_catalog_manager', - 'sharding', - ] -) - -env.Library( - target='split_vector', - source=[ - 'split_vector.cpp', - ], - LIBDEPS=[ - '$BUILD_DIR/mongo/db/bson/dotted_path_support', - '$BUILD_DIR/mongo/db/catalog/catalog_raii', - '$BUILD_DIR/mongo/db/commands/dcommands_fcv', - '$BUILD_DIR/mongo/db/commands/server_status', - '$BUILD_DIR/mongo/db/dbhelpers', - '$BUILD_DIR/mongo/db/index_d', - '$BUILD_DIR/mongo/db/repl/repl_coordinator_global', - '$BUILD_DIR/mongo/s/sharding_request_types', - 'balancer', - 'collection_metadata', - 'sharding', - ] -) - env.CppUnitTest( target='split_vector_test', source=[ @@ -325,7 +288,7 @@ env.CppUnitTest( LIBDEPS=[ '$BUILD_DIR/mongo/db/dbdirectclient', '$BUILD_DIR/mongo/s/shard_server_test_fixture', - 'split_vector', + 'sharding', ] ) diff --git a/src/mongo/db/stats/SConscript b/src/mongo/db/stats/SConscript index d8b78a186ee..146eced8c62 100644 --- a/src/mongo/db/stats/SConscript +++ b/src/mongo/db/stats/SConscript @@ -98,7 +98,8 @@ env.Library( LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/commands/server_status', - '$BUILD_DIR/mongo/db/index/index_access_methods', + '$BUILD_DIR/mongo/db/db_raii', + '$BUILD_DIR/mongo/db/index/index_access_method', 'fill_locker_info', 'top', ], diff --git a/src/mongo/db/storage/mmap_v1/SConscript b/src/mongo/db/storage/mmap_v1/SConscript index 2c938ddca35..50f32018f8d 100644 --- a/src/mongo/db/storage/mmap_v1/SConscript +++ b/src/mongo/db/storage/mmap_v1/SConscript @@ -64,7 +64,6 @@ env.Library( '$BUILD_DIR/mongo/db/catalog/database_holder', '$BUILD_DIR/mongo/db/catalog/index_catalog', '$BUILD_DIR/mongo/db/catalog/index_create', - '$BUILD_DIR/mongo/db/clientcursor', '$BUILD_DIR/mongo/db/commands', '$BUILD_DIR/mongo/db/commands/server_status', '$BUILD_DIR/mongo/db/concurrency/lock_manager', diff --git a/src/mongo/dbtests/SConscript b/src/mongo/dbtests/SConscript index 4b21523b704..3ebeb531a43 100644 --- a/src/mongo/dbtests/SConscript +++ b/src/mongo/dbtests/SConscript @@ -123,9 +123,8 @@ dbtest = env.Program( "$BUILD_DIR/mongo/db/logical_time_metadata_hook", "$BUILD_DIR/mongo/db/op_observer_d", "$BUILD_DIR/mongo/db/pipeline/document_value_test_util", - "$BUILD_DIR/mongo/db/pipeline/serveronly_pipeline", "$BUILD_DIR/mongo/db/query/collation/collator_interface_mock", - "$BUILD_DIR/mongo/db/query/query", + "$BUILD_DIR/mongo/db/query_exec", "$BUILD_DIR/mongo/db/query/query_planner_test_lib", "$BUILD_DIR/mongo/db/query/query_test_service_context", "$BUILD_DIR/mongo/db/repl/drop_pending_collection_reaper", diff --git a/src/mongo/s/SConscript b/src/mongo/s/SConscript index 721510e47b1..0a59d2bd5e6 100644 --- a/src/mongo/s/SConscript +++ b/src/mongo/s/SConscript @@ -264,35 +264,39 @@ env.Library( ], ) -# This library contains sharding functionality used by both mongod and mongos env.Library( - target='coreshard', + target='grid', source=[ 'balancer_configuration.cpp', 'catalog_cache.cpp', + 'client/shard_factory.cpp', + 'client/shard_registry.cpp', + 'grid.cpp', + ], + LIBDEPS=[ + '$BUILD_DIR/mongo/client/clientdriver', + '$BUILD_DIR/mongo/db/logical_time_metadata_hook', + 'client/shard_interface', + 'query/cluster_cursor_manager', + 'routing_table', + ], +) + +# 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', 'config_server_client.cpp', - 'grid.cpp', 'shard_util.cpp', 'sharding_egress_metadata_hook.cpp', ], LIBDEPS=[ - '$BUILD_DIR/mongo/db/audit', - '$BUILD_DIR/mongo/db/lasterror', '$BUILD_DIR/mongo/db/repl/repl_coordinator_global', - '$BUILD_DIR/mongo/executor/task_executor_pool', - '$BUILD_DIR/mongo/s/catalog/sharding_catalog_client', - '$BUILD_DIR/mongo/s/query/cluster_cursor_manager', '$BUILD_DIR/mongo/util/concurrency/thread_pool', - 'common_s', - 'routing_table', - #'client/sharding_client', # CYCLE - ], - LIBDEPS_TAGS=[ - # TODO(ADAM, 2017,05-16): See `CYCLE` tags above - 'illegal_cyclic_or_unresolved_dependencies_whitelisted', + 'grid', ], ) diff --git a/src/mongo/s/client/SConscript b/src/mongo/s/client/SConscript index 74f34431b95..6ba0acb5a2d 100644 --- a/src/mongo/s/client/SConscript +++ b/src/mongo/s/client/SConscript @@ -8,25 +8,18 @@ env.Library( target='sharding_client', source=[ 'shard_connection.cpp', - 'shard_factory.cpp', - 'shard_registry.cpp', 'shard_remote.cpp', 'version_manager.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/client/clientdriver', '$BUILD_DIR/mongo/client/fetcher', - '$BUILD_DIR/mongo/client/remote_command_targeter', - '$BUILD_DIR/mongo/db/auth/authcore', '$BUILD_DIR/mongo/db/commands', '$BUILD_DIR/mongo/db/lasterror', - '$BUILD_DIR/mongo/db/logical_time_metadata_hook', - '$BUILD_DIR/mongo/executor/connection_pool_stats', '$BUILD_DIR/mongo/executor/task_executor_pool', - '$BUILD_DIR/mongo/rpc/metadata', + '$BUILD_DIR/mongo/s/grid', + '$BUILD_DIR/mongo/s/routing_table', '$BUILD_DIR/mongo/s/cluster_last_error_info', - '$BUILD_DIR/mongo/s/is_mongos', - '$BUILD_DIR/mongo/s/coreshard', 'shard_interface', ], ) |