[SERVER-73113] Allow only specific global dbs to be created without a tenantId Created: 19/Jan/23  Updated: 29/Oct/23  Resolved: 13/Oct/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.2.0-rc0

Type: Task Priority: Major - P3
Reporter: Janna Golden Assignee: Hugh Tong (Inactive)
Resolution: Fixed Votes: 0
Labels: ntdi_must_have
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-80533 Pass serialization context into agg p... Closed
depends on SERVER-80635 Use AuthPrevalidated for auth-specif... Closed
depends on SERVER-80743 Investigate listDatabases returning d... Closed
depends on SERVER-80753 Modify runCheckOnReplSet to call isMa... Closed
depends on SERVER-80779 Enumerate VTS for the serialization c... Closed
depends on SERVER-80833 Pass serialization context into agg p... Closed
depends on SERVER-81035 Create catalog-specific deserializer ... Closed
depends on SERVER-81465 Prevent runTestTenantPrefixAlone test... Closed
depends on SERVER-81540 Create agg request using tenantId in ... Closed
depends on SERVER-81831 Pass tenantIds into IDL parsers in qu... Closed
Duplicate
is duplicated by SERVER-73025 Assert a tenantId always exists on a ... Closed
is duplicated by SERVER-74508 Complete TODO listed in SERVER-73025 Closed
Gantt Dependency
has to be done before SERVER-78534 Only allow specific global collection... Closed
Assigned Teams:
Serverless
Backwards Compatibility: Fully Compatible
Sprint: Service Arch 2023-10-16, Server Serverless 2023-08-21, Server Serverless 2023-09-04, Server Serverless 2023-09-18, Server Serverless 2023-10-02
Participants:

 Description   

Only the admin, local, and config databases should be allowed to be created without a tenantId in DatabaseNameUtil::deserialize. 



 Comments   
Comment by Githook User [ 12/Oct/23 ]

Author:

{'name': 'Hugh Tong', 'email': 'hugh.tong@mongodb.com', 'username': 'cortrain'}

Message: SERVER-73113 Allow creation of specific global dbs without a tenantId
Branch: master
https://github.com/mongodb/mongo/commit/e189391beb66f2756491d4fe76195dc95b1e406d

Comment by Hugh Tong (Inactive) [ 11/Oct/23 ]

This ticket, combined with associated sub-tasks that were broken out and handled separately, addresses failures in the following tests:

unit test: build/install/bin/db_auth_test
unit test: build/install/bin/namespace_string_database_name_util_test
unit test: build/install/bin/rpc_test
jstests/auth/authz_tenant_access_control.js
jstests/auth/multitenancy_test_authzn.js
jstests/auth/security_token.js
jstests/auth/token_privileges.js
jstests/core/ddl/collmod.js
jstests/core/administrative/compact_keeps_indexes.js
jstests/core/timeseries/timeseries_collmod.js
jstests/core/query/explain/explain_db_mismatch.js
jstests/core/query/query_settings/query_settings_cmds.js
jstests/core/timeseries/timeseries_compact.js
jstests/core/operation_latency_histogram.js
jstests/core/txns/view_reads_in_transaction.js
jstests/core/views/views_change.js
jstests/core/views/views_collation.js
jstests/core/views/views_validation.js
jstests/hooks/run_check_repl_oplogs.js
jstests/hooks/run_check_repl_dbhash.js
jstests/replsets/change_streams_cluster_parameters_standalone.js
jstests/replsets/tenant_migration_recipient_shard_merge_copies_change_collections.js
jstests/replsets/tenant_migration_recipient_shard_merge_copies_cluster_parameters.js
jstests/replsets/tenant_migration_shard_merge_abort_garbage_collection.js
jstests/sharding/analyze_shard_key/analyze_shard_key_basic.js
jstests/sharding/analyze_shard_key/configure_query_analyzer_basic.js
jstests/sharding/analyze_shard_key/list_sampled_queries.js
jstests/serverless/bench_test_with_tenant.js
jstests/serverless/change_collection_expired_document_remover.js
jstests/serverless/change_collection_server_stats.js
jstests/serverless/change_stream_state_commands.js
jstests/serverless/change_streams/basic_read_from_change_collection.js
jstests/serverless/change_streams/isolate_high_water_mark.js
jstests/serverless/change_streams/multitenant_pre_image_expired_document_remover.js
jstests/serverless/change_streams/multitenant_read_from_change_collection.js
jstests/serverless/change_streams/multitenant_read_from_change_collection_in_transaction.js
jstests/serverless/cluster_parameter_op_observer_serverless.js
jstests/serverless/cluster_parameters_initial_sync_restart.js
jstests/serverless/cluster_server_parameter_commands_serverless_replset.js
jstests/serverless/disabled_cluster_parameters_serverless.js
jstests/serverless/initial_sync_change_collection.js
jstests/serverless/list_databases_for_all_tenants.js
jstests/serverless/multitenancy_initial_sync_fails_no_auth_schema.js
jstests/serverless/multitenancy_rollback_crud_op.js
jstests/serverless/native_tenant_data_isolation_basic_dollar_tenant.js
jstests/serverless/native_tenant_data_isolation_basic_security_token.js    
jstests/serverless/native_tenant_data_isolation_concurrent_lock_ops.js
jstests/serverless/native_tenant_data_isolation_curr_op.js
jstests/serverless/native_tenant_data_isolation_expect_prefix.js
jstests/serverless/native_tenant_data_isolation_initial_sync.js
jstests/serverless/native_tenant_data_isolation_kill_op.js
jstests/serverless/native_tenant_data_isolation_mirrored_reads.js
jstests/serverless/native_tenant_data_isolation_stop_restart.js
jstests/serverless/shard_split_change_collections_test.js
jstests/serverless/shard_split_cluster_parameters_test.js
jstests/serverless/write_to_change_collection.js
jstests/serverless/write_to_change_collection_in_startup_recovery.js
src/mongo/db/modules/enterprise/jstests/audit/tenant-id.js
src/mongo/db/modules/enterprise/jstests/serverless/native_tenant_data_isolation_simple_FLE2_dollar_test.js 

Comment by Janna Golden [ 15/Mar/23 ]

We should remove any TODOs in the code on SERVER-73025 as well, since it was closed as a dupe of this ticket.

Generated at Thu Feb 08 06:23:42 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.