summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Morrow <acm@mongodb.com>2018-01-09 14:39:34 -0500
committerAndrew Morrow <acm@mongodb.com>2018-01-10 21:26:25 -0500
commit9d1f323a131ba5e3e1af79973ae79910de10a957 (patch)
treef5d7f5463069ce3462adbf819450e68a64c8c2a1
parent37cb7ea09393e88662e3139bd20fa29e59f2a1a3 (diff)
downloadmongo-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/SConscript2
-rw-r--r--src/mongo/db/SConscript180
-rw-r--r--src/mongo/db/catalog/SConscript8
-rw-r--r--src/mongo/db/commands/SConscript7
-rw-r--r--src/mongo/db/exec/SConscript88
-rw-r--r--src/mongo/db/index/SConscript31
-rw-r--r--src/mongo/db/matcher/SConscript2
-rw-r--r--src/mongo/db/ops/SConscript4
-rw-r--r--src/mongo/db/pipeline/SConscript18
-rw-r--r--src/mongo/db/query/SConscript58
-rw-r--r--src/mongo/db/repl/SConscript21
-rw-r--r--src/mongo/db/s/SConscript59
-rw-r--r--src/mongo/db/stats/SConscript3
-rw-r--r--src/mongo/db/storage/mmap_v1/SConscript1
-rw-r--r--src/mongo/dbtests/SConscript3
-rw-r--r--src/mongo/s/SConscript34
-rw-r--r--src/mongo/s/client/SConscript11
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',
],
)